Java BigDecimal ulp()方法
java.math.BigDecimal. ulp()是Java中的一个内置方法,用于返回这个BigDecimal的ulp(最后一位的单位)的大小。
- 一个非零的BigDecimal值的ulp被定义为该值与下一个具有相同位数的BigDecimal值之间的正数距离。
- 一个零值的ulp在数值上等于1,其比例是这样的。结果的存储比例与this相同,所以零值和非零值的结果都等于[1, this.scale()]。
语法
public BigDecimal ulp()
参数: 该方法不接受任何参数。
返回值: 该方法返回BigDecimal的一个ulp的大小。
举例说明
输入: 4.25
输出: 0.01
输入: 1789
输出: 1
以下程序说明了上述方法:
程序1
// Program to illustrate the ulp() method of BigDecimal
import java.math.*;
public class gfg {
public static void main(String[] args)
{
// Assigning BigDecimal object
BigDecimal b1 = new BigDecimal("1789");
BigDecimal b2 = new BigDecimal("4.25");
// Assigning ulp value of BigDecimal object b1, b2 to b3, b4
BigDecimal b3 = b1.ulp();
BigDecimal b4 = b2.ulp();
// Printing b3, b4 values
System.out.println("ULP value of " + b1 + " is " + b3);
System.out.println("ULP value of " + b2 + " is " + b4);
}
}
输出。
ULP value of 1789 is 1
ULP value of 4.25 is 0.01
程序2
// Program to illustrate the ulp() method of BigDecimal
import java.math.*;
public class gfg {
public static void main(String[] args)
{
// Assigning BigDecimal object
BigDecimal b1 = new BigDecimal("78645");
BigDecimal b2 = new BigDecimal("4.252547");
// Assign ulp value of BigDecimal object b1, b2 to b3, b4
BigDecimal b3 = b1.ulp();
BigDecimal b4 = b2.ulp();
// Printing b3, b4 values
System.out.println("ULP value of " + b1 + " is " + b3);
System.out.println("ULP value of " + b2 + " is " + b4);
}
}
输出。
ULP value of 78645 is 1
ULP value of 4.252547 is 0.000001
**参考资料: **https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#ulp()