Java BigDecimal longValueExact example

Java bigdecimal class longValueExact() method transforms
bigdecimal value exactly in to exact long type values.
Method throws NumberFormatException if it value other than a integer or double.
And also throws an ArithmeticException when rounding
is necessary. In the example four bigdecimal class objects namely: carel_0, carel_1, carel_2 & carel_3 respectively
have been created.
In the example MathContext class object nc is created for rounding objects value.
In the example along with method generated result, original
bigdecimal value is also shown.
Syntax for using the method: public long longValueExact()
System.out.println(bigdecimal_objectName.longValueExact());
or
long ln = (this.object).longValueExact();
Java_BigDecimal_longValueExact.java
import java.math.BigDecimal;
import java.math.MathContext;
public class Java_BigDecimal_longValueExact {
public static void main(String args[]) {
MathContext nc =
new MathContext(BigDecimal.ROUND_CEILING);
BigDecimal carel_0 = new BigDecimal(-39.005440000, nc),
carel_1 = new BigDecimal(-833.00654000, nc),
carel_2 = new BigDecimal(+125.05455000, nc),
carel_3 = new BigDecimal(+352.0000058555, nc);
BigDecimal mint[] = {carel_0, carel_1, carel_2,
carel_3};
System.out.println("BigDecimal objects values " +
"\n'risk_0 '\nvalue : " + mint[0]
+"\nExact long value : " + mint[0].longValueExact());
System.out.println("\n'risk_1 '\nvalue : " + mint[1]
+"\nExact long value : " + mint[1].longValueExact());
System.out.println("\n'risk_2 '\nvalue : " + mint[2]
+"\nExact value : " + mint[2].longValueExact());
System.out.println("\n'risk_3 '\nvalue : " + mint[3]
+"\nExact long value : " + mint[3].longValueExact());
}
}
|
Download the code

|