BigDecimal byteValueExact() Method in Java
The java.math.BigDecimal.byteValueExact() is an in-built function which converts the BigDecimal to a byte and checks for lost information. Any BigDecimal value greater than 127 or less than -128, will generate an exception as it doesn’t fit in byte range.
Syntax:
public byte byteValueExact()
Parameters: The method does not accept any parameters.
Return Value:This method returns the byte value of the BigDecimal Object.
Exception: This function throws ArithmeticException in case if the BigDecimal has a nonzero fractional part, i.e., in case of a decimal values, or is out of the possible range for a byte result.
Examples:
Input : 127 Output : 127 Input : -67 Output : -67
Below programs will illustrate the use of byteValueExact() Function:
Program 1:
// Java program to demonstrate byteValueExact() method import java.io.*; import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigDecimal object BigDecimal b; // Creating a byte objects byte bt; b = new BigDecimal( "47" ); // Assigning the byte value of b to bt bt = b.byteValueExact(); // Displaying the byte value System.out.println( "Exact byte value of " + b + " is " + bt); } } |
Exact byte value of 47 is 47
Program 2:
// Java program to demonstrate byteValueExact() method import java.io.*; import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigDecimal object BigDecimal b; b = new BigDecimal( "-128.0564000" ); System.out.println( "BigDecimal value : " + b); long roundedValue = Math.round(b.doubleValue()); System.out.println( "Rounded value : " + roundedValue); // Rounding is necessary as the fractional part is not zero // as well as exceeding the byte range of -128 to 127 b = new BigDecimal(roundedValue); System.out.println( "Byte converted value : " + b.byteValueExact()); } } |
BigDecimal value : -128.0564000 Rounded value : -128 Byte converted value : -128
Reference:https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#byteValueExact()
Please Login to comment...