Java中的 BigDecimal ulp() 方法
Java.math.BigDecimal.ulp()是Java中的一个内置方法,它返回这个 BigDecimal 的 ulp(最后一个单位)的大小。
- 非零 BigDecimal 值的 ulp 定义为该值与具有相同位数的下一个更大的 BigDecimal 值之间的正距离。
- 零值的 ulp 在数值上等于 1,具有此比例。结果以与 this 相同的比例存储,因此零和非零值的结果等于 [1, this.scale()]。
句法:
public BigDecimal ulp()
参数:该方法不接受任何参数。
返回值:此方法返回 BigDecimal 的 ulp 的大小。
例子:
Input: 4.25
Output: 0.01
Input: 1789
Output: 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
方案二:
// 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: Java()