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


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


java.math.BigDecimal.divideToIntegralValue(BigDecimal divisor)用於計算四舍五入的兩個BigDecimals(this /divisor)商的整數部分。結果的首選標度是(this.scale() – divisor.scale())。此方法對當前的BigDecimal進行操作,調用該方法並將BigDecimal作為參數傳遞。

Java中提供了divideToIntegralValue方法的兩個重載,如下所示:


  • splitToIntegralValue(BigDecimal divisor)
  • splitToIntegralValue(BigDecimal divisor,MathContext mc)

divideToIntegralValue(BigDecimal divisor)

用法:

public BigDecimal divideToIntegralValue(BigDecimal divisor)

參數:此方法接受參數除數,該BigDecimal將被該參數除。
返回值:此方法返回保存結果的整數部分的BigDecimal(這個/除數)
異常:參數除數必須不0除此以外算術異常被拋出。

下麵的程序用於說明BigDecimal的divideToIntegralValue()方法。

// Java program to demonstrate 
// divideToIntegralValue() method of BigDecimal 
  
import java.math.BigDecimal; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
        // BigDecimal object to store the result 
        BigDecimal res; 
  
        // For user input 
        // Use Scanner or BufferedReader 
  
        // Two objects of String created 
        // Holds the values 
        String input1 
            = "31452678569"; 
        String input2 
            = "2468"; 
  
        // Convert the string input to BigDecimal 
        BigDecimal a 
            = new BigDecimal(input1); 
        BigDecimal divisor 
            = new BigDecimal(input2); 
  
        // Using divideToIntegralValue() method 
        res = a.divideToIntegralValue(divisor); 
  
        // Display the result in BigDecimal 
        System.out.println(res); 
    } 
}
輸出:
12744197

divideToIntegralValue(BigDecimal divisor, MathContext mc)

由於精確商的整數部分不取決於舍入模式,因此舍入模式不會影響此方法返回的值。結果的首選標度是(this.scale() – divisor.scale())。

用法:

public BigDecimal divideToIntegralValue(BigDecimal divisor,
                                        MathContext mc)

參數:此方法接受一個參數除數,該BigDecimal將被該參數除數,並且接受用於上下文設置的MathContext類型的參數mc。
返回值:此方法返回保存結果的整數部分的BigDecimal(這個/除數)
異常:方法拋出算術異常對於以下條件:

  • 參數除數不得為0。
  • 如果mc.precision> 0,結果要求的精度超過mc.precision位數。

下麵的程序用於說明BigDecimal的divideToIntegralValue()方法。
示例1:

// Java program to demonstrate 
// divideToIntegralValue() method of BigDecimal 
  
import java.math.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
        // BigDecimal object to store the result 
        BigDecimal res; 
  
        // For user input 
        // Use Scanner or BufferedReader 
  
        // Two objects of String created 
        // Holds the values 
        String input1 
            = "24536482"; 
        String input2 
            = "2"; 
  
        // Convert the string input to BigDecimal 
        BigDecimal a 
            = new BigDecimal(input1); 
        BigDecimal divisor 
            = new BigDecimal(input2); 
  
        // Set precision to 10 
        MathContext mc 
            = new MathContext(10); 
  
        // Using divideToIntegralValue() method 
        res = a.divideToIntegralValue(divisor, mc); 
  
        // Display the result in BigDecimal 
        System.out.println(res); 
    } 
}
輸出:
12268241

示例2:程序說明了divideToIntegralValue()方法中發生異常的程序

// Java program to demonstrate 
// divideToIntegralValue() method of BigDecimal 
  
import java.math.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
        // BigDecimal object to store the result 
        BigDecimal res; 
  
        // For user input 
        // Use Scanner or BufferedReader 
  
        // Two objects of String created 
        // Holds the values 
        String input1 
            = "24536482"; 
        String input2 
            = "2"; 
  
        // Convert the string input to BigDecimal 
        BigDecimal a 
            = new BigDecimal(input1); 
        BigDecimal divisor 
            = new BigDecimal(input2); 
  
        // Set precision to 5 
        MathContext mc 
            = new MathContext(5); 
  
        // As the result requires 
        // a precision of more than 
        // mc.precision digits 
        // So Exception occur 
        try { 
  
            // Using divideToIntegralValue() method 
            res = a.divideToIntegralValue(divisor, mc); 
  
            // Display the result in BigDecimal 
            System.out.println(res); 
        } 
        catch (ArithmeticException e) { 
            System.out.println(e); 
        } 
    } 
}
輸出:
java.lang.ArithmeticException: Division impossible

參考文獻: https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/math/BigDecimal.html#divideToIntegralValue(java.math.BigDecimal)



相關用法


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