byte byteValueExact()
优质
小牛编辑
141浏览
2023-12-01
描述 (Description)
java.math.BigDecimal.byteValueExact()将BigDecimal转换为一个字节,检查丢失的信息。 如果此BigDecimal具有非零小数部分或超出字节结果的可能范围,则抛出ArithmeticException。
声明 (Declaration)
以下是java.math.BigDecimal.byteValueExact()方法的声明。
public byte byteValueExact()
参数 (Parameters)
NA
返回值 (Return Value)
此方法返回BigDecimal对象的字节值。
异常 (Exception)
ArithmeticException - 如果BigDecimal对象具有非零小数部分,或者不适合字节。
例子 (Example)
以下示例显示了math.BigDecimal.byteValueExact()方法的用法。
package cn.xnip;
import java.math.*;
public class BigDecimalDemo {
public static void main(String[] args) {
// create 2 BigDecimal objects
BigDecimal bg1, bg2;
// Create 2 byte objects
byte i1, i2;
// assign values to bg1 and bg2
bg1 = new BigDecimal("-128");
bg2 = new BigDecimal("48");
// any BigDecimal value greater than 127 or less than -128,
// will generate exception as it doesn't fit in byte range
// this method also generates exception for decimal values like 12.10
// assign the byte value of bg1 and bg2 to i1,i2 respectively
i1 = bg1.byteValueExact();
i2 = bg2.byteValueExact();
String str1 = "Exact byte value of " + bg1 + " is " + i1;
String str2 = "Exact byte value of " + bg2 + " is " + i2;
// print i1,i2 values
System.out.println( str1 );
System.out.println( str2 );
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
Exact byte value of -128 is -128
Exact byte value of 48 is 48