java.math.BigDecimal.sqrt(MathContext mc)是Java SE 9和JDK 9中添加的內置函數,該函數返回BigDecimal的平方根的BigDecimal值,並根據上下文設置對sqrt()方法進行了四舍五入。
用法:
public BigDecimal sqrt(MathContext mc)
參數:此方法接受MathContext類型的參數mc進行上下文設置。
返回值:此方法根據上下文設置使用舍入返回此值的平方根的近似值。
異常:該方法在滿足以下條件時拋出ArithmeticException。
- 如果BigDecimal的數字小於零。
- 如果要求精確結果(Precision = 0),並且精確結果沒有有限的十進製擴展。
- 如果精確結果不能適合精度數字。
注意:僅JDK 9提供此方法。
以下程序用於說明BigDecimal的sqrt()方法:
示例1:
// Java program to demonstrate sqrt() method
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// Creating a BigDecimal object
BigDecimal a, squareRoot;
a = new BigDecimal("100000000000000000000");
// Set precision to 10
MathContext mc
= new MathContext(10);
// calculate square root of bigDecimal
// using sqrt() method
squareRoot = a.sqrt(mc);
// print result
System.out.println("Square root value of " + a
+ " is " + squareRoot);
}
}
輸出:
Square root value of 100000000000000000000 is 1.000000000E+10
示例2:顯示由sqrt()方法引發的異常。
// Java program to demonstrate sqrt() method
import java.math.*;
class GFG {
public static void main(String[] args)
{
// Creating a BigDecimal object
BigDecimal a, squareRoot;
a = new BigDecimal("-4");
// Set precision to 10
MathContext mc
= new MathContext(10);
// calculate square root of bigDecimal
// using sqrt() method
try {
squareRoot = a.sqrt(mc);
// print result
System.out.println("Square root"
+ " value of " + a
+ " is " + squareRoot);
}
catch (Exception e) {
System.out.println(e);
}
}
}
輸出:
java.lang.ArithmeticException: Attempted square root of negative BigDecimal
參考文獻:https://docs.oracle.com/javase/9/docs/api/java/math/BigDecimal.html#sqrt-java.math.MathContext-
相關用法
- Java sqrt()用法及代碼示例
- Java BigDecimal pow()用法及代碼示例
- Java BigDecimal add()用法及代碼示例
- Java BigDecimal subtract()用法及代碼示例
- Java BigDecimal divideAndRemainder()用法及代碼示例
- Java BigDecimal setScale()用法及代碼示例
- Java BigDecimal floatValue()用法及代碼示例
- Java BigDecimal divideToIntegralValue()用法及代碼示例
- Java BigDecimal toPlainString()用法及代碼示例
- Java BigDecimal toString()用法及代碼示例
- Java BigDecimal divide()用法及代碼示例
- Java BigDecimal toEngineeringString()用法及代碼示例
- Java BigDecimal remainder()用法及代碼示例
- Java BigInteger sqrt()用法及代碼示例
- Java StrictMath sqrt()用法及代碼示例
注:本文由純淨天空篩選整理自Rajnis09大神的英文原創作品 BigDecimal sqrt() Method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。