BigDecimal ulp() Method in Java
The java.math.BigDecimal.ulp() is an inbuilt method in Java that returns the size of an ulp(unit in the last place) of this BigDecimal.
- An ulp of a nonzero BigDecimal value is defined as the positive distance between this value and the BigDecimal value next larger in magnitude with the same number of digits.
- An ulp of a zero value is numerically equal to 1 with the scale of this. The result is stored with the same scale as this so the result for zero and nonzero values is equal to [1, this.scale()].
Syntax:
public BigDecimal ulp()
Parameter: The method does not accept any parameter.
Return value: This method returns the size of an ulp of BigDecimal.
Examples:
Input: 4.25 Output: 0.01 Input: 1789 Output: 1
Below programs illustrates the above mentioned method:
Program 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); } } |
Output:
ULP value of 1789 is 1 ULP value of 4.25 is 0.01
Program 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); } } |
Output:
ULP value of 78645 is 1 ULP value of 4.252547 is 0.000001
Reference: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#ulp()