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


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


java.math.BigDecimal.intValueExact()是一個內置函數,它將BigDecimal轉換為整數值並檢查丟失的信息。如果此BigDecimal的任何小數部分或者轉換的結果太大而無法表示為整數值,則此函數將引發算術異常。

用法:

public int intValueExact()

參數:此函數不接受任何參數。


返回值:此函數返回此BigDecimal的整數值。

異常:如果此BigDecimal中有一個非零的小數部分,或者其值太大而無法表示為整數,則該函數將引發ArithmeticException。

例子:

Input : "19878124"
Output : 19878124

Input : "721111"
Output : 721111

以下程序說明了java.math.BigDecimal.intValueExact()方法的用法:
示例1:

// Java program to illustrate 
// intValueExact() method 
import java.math.*; 
import java.io.*; 
  
class GFG { 
    public static void main(String[] args) 
    { 
        // Creating 2 BigDecimal Objects 
        BigDecimal b1, b2; 
        // Assigning values to b1, b2 
        b1 = new BigDecimal("19878124"); 
        b2 = new BigDecimal("721111"); 
        // Displaying their respective Integer Values 
        System.out.println("Exact Integer Value of " + 
        b1 + " is " + b1.intValueExact()); 
        System.out.println("Exact Integer Value of " + 
        b2 + " is " + b2.intValueExact()); 
    } 
}
輸出:
Exact Integer Value of 19878124 is 19878124
Exact Integer Value of 721111 is 721111

注意:與intValue()函數(該函數丟棄此BigDecimal的任何小數部分並僅在轉換結果太大而無法將其表示為整數值時返回低階32位)不同,此函數在這種情況下會引發算術異常。

示例2:該程序將說明此函數何時引發Exception。

// Java program to illustrate 
// Arithmetic Exception occurrence 
// in intValueExact() method 
import java.math.*; 
import java.io.*; 
  
class GFG { 
    public static void main(String[] args) 
    { 
        // Creating 2 BigDecimal Objects 
        BigDecimal b1, b2; 
  
        // Assigning values to b1, b2 
        b1 = new BigDecimal("3232435121868179"); 
        b2 = new BigDecimal("84561789104423214"); 
  
        // Displaying their respective Integer Values 
        // using intValue() 
        System.out.println("Output by intValue() Function"); 
        System.out.println("The Integer Value of " +  
        b1 + " is " + b1.intValue()); 
        System.out.println("The Integer Value of " +  
        b2 + " is " + b2.intValue()); 
          
        // Exception handling 
        System.out.println("\nOutput by intValueExact() Function"); 
        try { 
            System.out.println("Exact Integer Value of " +  
            b1 + " is " + b1.intValueExact()); 
            System.out.println("Exact Integer Value of " +  
            b2 + " is " + b2.intValueExact()); 
        } 
        catch (ArithmeticException e) { 
            System.out.println("Arithmetic Exception caught"); 
        } 
    } 
}
輸出:
Output by intValue() Function
The Integer Value of 3232435121868179 is -214774381
The Integer Value of 84561789104423214 is -920387282

Output by intValueExact() Function
Arithmetic Exception caught

參考: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#intValueExact()



相關用法


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