byte byteValueExact()

优质
小牛编辑
130浏览
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