java.math.BigDecimal.divide(BigDecimal divisor)用於計算兩個BigDecimal的商。商由(this /除數)給出。此方法對當前的BigDecimal進行操作,調用該方法並將BigDecimal作為參數傳遞。
Java中有五種重載的除法方法重載,如下所示:
- divide(BigDecimal divisor)
- divide(BigDecimal divisor,MathContext mc)
- divide(BigDecimal divisor,RoundingMode roundingMode)
- divide(BigDecimal divisor,整數比例,RoundingMode roundingMode)
- divide(BigDecimal divisor,int roundingMode)
注意:從Java 9開始不推薦使用divide(BigDecimal divisor,int roundingMode)。
divide(BigDecimal divisor)
商由(this /除數)給出,其首選標度為(this.scale() – divisor.scale())。
用法:
public BigDecimal divide(BigDecimal divisor)
參數:此方法接受參數除數,該BigDecimal將通過該參數除以獲得商。
返回值:此方法返回保存結果的BigDecimal(這個/除數)。
異常:如果參數除數是0或精確商沒有小數點後綴算術異常被拋出。
下麵的程序用於說明BigDecimal的divide()方法。
// Java program to demonstrate
// divide() 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
= "204800000";
String input2
= "256";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal divisor
= new BigDecimal(input2);
// Using divide() method
res = a.divide(divisor);
// Display the result in BigDecimal
System.out.println(res);
}
}
800000
divide(BigDecimal divisor, MathContext mc)
此方法用於計算兩個BigDecimal(其值為(this /divisor))的商,並根據上下文設置進行舍入。
用法:
public BigDecimal divide(BigDecimal divisor, MathContext mc)
參數:此方法接受兩個參數:
- divisor以此BigDecimal除以
- mc類型為MathContext的上下文設置。
返回值:此方法返回一個保存結果(this /divisor)的BigDecimal,並根據需要四舍五入。
異常:如果結果不精確,但舍入模式為UNNECESSARY或mc.precision == 0,並且商具有非終止的十進製擴展,則該方法將引發Arithmetic Exception。
下麵的程序用於說明BigDecimal的divide()方法。
// Java program to demonstrate
// divide() 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
= "264";
// 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);
// Using divide() method
res = a.divide(divisor, mc);
// Display the result in BigDecimal
System.out.println(res);
}
}
92941
divide(BigDecimal divisor, RoundingMode roundingMode)
商由(this /divisor)給出,其首選標度是this.scale()。如果需要舍入以生成給定比例的結果,則應用特定的舍入模式。
用法:
public BigDecimal divide(BigDecimal divisor, RoundingMode roundingMode)
參數:此方法接受兩個參數:
- divisor以此BigDecimal除以
- roundingMode類型RoundingMode,它指示要應用的舍入模式。
返回值:此方法返回一個保存結果(此/除數)的BigDecimal。
異常:方法拋出算術異常如果roundingMode為UNNECESSARY且this.scale()不足以精確表示除法的結果,或者除數是0。
下麵的程序用於說明BigDecimal的divide()方法。
// Java program to demonstrate
// divide() 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
= "2453648454542";
String input2
= "264";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal divisor
= new BigDecimal(input2);
// Using divide() method
// Using RoundingMode.CEILING
res = a.divide(divisor, RoundingMode.CEILING);
// Display the result in BigDecimal
System.out.println(res);
}
}
9294122934
divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
商由(this /除數)給出,其首選標度已指定。如果需要舍入以生成具有指定比例的結果,則將應用指定的舍入模式。
用法:
public BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
參數:此方法接受三個參數:
- divisor以此BigDecimal除以
- roundingMode類型RoundingMode,它指示要應用的舍入模式
- scale設置商的比例。
返回值:此方法返回一個保存結果(此/除數)的BigDecimal。
異常:方法拋出算術異常如果roundingMode為UNNECESSARY並且指定的比例不足以精確表示除法的結果,或者除數是0。
下麵的程序用於說明BigDecimal的divide()方法。
// Java program to demonstrate
// divide() 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
= "2453648454542";
String input2
= "264";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal divisor
= new BigDecimal(input2);
// Using scale = 4
int scale = 4;
// Using divide() method
// Using RoundingMode.CEILING
res = a.divide(divisor, scale,
RoundingMode.CEILING);
// Display the result in BigDecimal
System.out.println(res);
}
}
相關用法
- Java BigDecimal pow()用法及代碼示例
- Java BigDecimal add()用法及代碼示例
- Java BigDecimal toEngineeringString()用法及代碼示例
- Java BigDecimal toPlainString()用法及代碼示例
- Java BigDecimal sqrt()用法及代碼示例
- Java BigDecimal toString()用法及代碼示例
- Java BigDecimal divideAndRemainder()用法及代碼示例
- Java BigDecimal divideToIntegralValue()用法及代碼示例
- Java BigDecimal subtract()用法及代碼示例
- Java BigDecimal remainder()用法及代碼示例
- Java BigDecimal setScale()用法及代碼示例
- Java BigDecimal floatValue()用法及代碼示例
- Java BigInteger divide()用法及代碼示例
- Java IntMath.divide(int, int, RoundingMode)用法及代碼示例
- Java LongMath.divide(long, long, RoundingMode)用法及代碼示例
注:本文由純淨天空篩選整理自Rajnis09大神的英文原創作品 BigDecimal divide() Method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。