The java.math.BigDecimal.longValue() is an in-built function which converts this BigDecimal to a long value. This function discards any fractional part of this BigDecimal. The function returns only the lower-order 64 bits when the result of the conversion is too big to be represented as a long value.
Syntax:
public long longValue()
Parameters: This function accepts no parameters.
Return Value: This function returns the long value of this BigDecimal.
Examples:
Input : 1987812456121.176 Output : 1987812456121 Input : "721111" Output : 721111
Below programs illustrate the use of java.math.BigDecimal.longValue() method:
Program 1:
// Java program to illustrate // longValue() method import java.math.*; import java.io.*; class GFG { public static void main(String[] args) { // Creating 2 BigDecimal Objects BigDecimal b1, b2; // Assigning values to b1, b2 b1 = new BigDecimal( "1987812456121.176" ); b2 = new BigDecimal( "721111" ); // Displaying their respective Long Values System.out.println( "The Long Value of " + b1 + " is " + b1.longValue()); System.out.println( "The Long Value of " + b2 + " is " + b2.longValue()); } } |
The Long Value of 1987812456121.176 is 1987812456121 The Long Value of 721111 is 721111
Note: Information regarding the overall magnitude and precision of large this BigDecimal values might be lost during the course of conversion by this function. As a consequence, a result with the opposite sign might be returned.
Program 2: Below program illustrates a scenario when the function returns a result with the opposite sign.
// Java program to illustrate // longValue() method import java.math.*; import java.io.*; class GFG { public static void main(String[] args) { // Creating 2 BigDecimal Objects BigDecimal b1, b2; // Assigning values to b1, b2 b1 = new BigDecimal( "267694723232435121868" ); b2 = new BigDecimal( "72111184561789104423" ); // Displaying their respective Long Values System.out.println( "The Long Value of " + b1 + " is " + b1.longValue()); System.out.println( "The Long Value of " + b2 + " is " + b2.longValue()); } } |
The Long Value of 267694723232435121868 is -9006437873208152372 The Long Value of 72111184561789104423 is -1675791733049102041
Reference:https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#longValue()