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:
import java.io.*;
import java.math.*;
public class GFG {
public static void main(String[] args)
{
BigDecimal b;
byte bt;
b = new BigDecimal( "47" );
bt = b.byteValueExact();
System.out.println( "Exact byte value of " + b + " is " + bt);
}
}
|
Output:
Exact byte value of 47 is 47
Program 2:
import java.io.*;
import java.math.*;
public class GFG {
public static void main(String[] args)
{
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);
b = new BigDecimal(roundedValue);
System.out.println( "Byte converted value : " + b.byteValueExact());
}
}
|
Output:
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()
Last Updated :
04 Dec, 2018
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...