这个 JAVA数学大十进制。字节值精确() 是一个内置函数,可将BigDecimal转换为字节并检查丢失的信息。任何大的十进制值 大于127或小于-128 ,将生成异常,因为它不符合字节范围。
null
语法:
public byte byteValueExact()
参数: 该方法不接受任何参数。
返回值: 此方法返回BigDecimal对象的字节值。
例外情况: 这个函数抛出 算术异常 如果BigDecimal具有非零的小数部分,例如,如果是十进制值,或者超出字节结果的可能范围。
例如:
Input : 127 Output : 127 Input : -67 Output : -67
下面的程序将演示byteValueExact()函数的用法: 项目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
项目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
参考: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#byteValueExact()
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END