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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。