當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java BigDecimal byteValueExact()用法及代碼示例


java.math.BigDecimal.byteValueExact()是一個內置函數,它將BigDecimal轉換為字節並檢查丟失的信息。任何大於127或小於-128的BigDecimal值都將生成異常,因為它不適合字節範圍。

用法:

public byte byteValueExact()

參數:該方法不接受任何參數。


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

異常:如果BigDecimal具有非零小數部分(即十進製值)或超出字節結果的可能範圍,則此函數引發ArithmeticException。

例子:

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()



相關用法


注:本文由純淨天空篩選整理自RICHIK BHATTACHARJEE大神的英文原創作品 BigDecimal byteValueExact() Method in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。