位置:首頁 > Java技術 > Java.math包 > Java.math.BigDecimal.byteValueExact()方法

Java.math.BigDecimal.byteValueExact()方法

 java.math.BigDecimal.byteValueExact() 轉換將BigDecimal為一個字節,檢查丟失的信息。如果此BigDecimal具有非零小數部分,或者超出的可能範圍,字節的結果則拋出ArithmeticException。

聲明

以下是java.math.BigDecimal.byteValueExact()方法的聲明

public byte byteValueExact()

參數

  • NA

返回值

此方法返回的BigDecimal對象的字節值。

Exception

  • ArithmeticException - 如果BigDecimal對象的具有非零小數部分,或者不適合以字節形式。

例子

下麵的示例演示math.BigDecimal.byteValueExact()方法的用法。

package com.yiibai;

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