您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
Java中的BigDecimal
类提供了丰富的数学运算方法,支持以下几种基本运算:
add(BigDecimal augend)
:返回一个BigDecimal
,其值为(this + augend)
。subtract(BigDecimal subtrahend)
:返回一个BigDecimal
,其值为(this - subtrahend)
。multiply(BigDecimal multiplicand)
:返回一个BigDecimal
,其值为(this * multiplicand)
。multiply(BigDecimal multiplicand, MathContext mc)
:使用指定的精度和舍入模式进行乘法运算。divide(BigDecimal divisor)
:返回一个BigDecimal
,其值为(this / divisor)
。默认情况下,除不尽时会抛出ArithmeticException
。divide(BigDecimal divisor, int scale)
:返回一个BigDecimal
,其值为(this / divisor)
,并指定小数点后的位数。divide(BigDecimal divisor, MathContext mc)
:使用指定的精度和舍入模式进行除法运算。divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
:返回一个BigDecimal
,其值为(this / divisor)
,并指定小数点后的位数和舍入模式。compareTo(BigDecimal val)
:比较两个BigDecimal
的大小,返回-1、0或1。equals(Object obj)
:比较两个BigDecimal
是否相等。abs()
:返回绝对值。negate()
:返回相反数。setScale(int newScale, RoundingMode roundingMode)
:设置小数点后的位数和舍入模式。stripTrailingZeros()
:去除末尾的零。toPlainString()
:返回不带指数的字符串表示。toEngineeringString()
:返回工程记数法的字符串表示。toBigInteger()
:将BigDecimal
转换为BigInteger
。toBigInteger(RoundingMode roundingMode)
:将BigDecimal
转换为BigInteger
,并指定舍入模式。import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
public class BigDecimalExample {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("10.5");
BigDecimal b = new BigDecimal("2.5");
// 加法
BigDecimal sum = a.add(b);
System.out.println("Sum: " + sum);
// 减法
BigDecimal difference = a.subtract(b);
System.out.println("Difference: " + difference);
// 乘法
BigDecimal product = a.multiply(b);
System.out.println("Product: " + product);
// 除法
BigDecimal quotient = a.divide(b);
System.out.println("Quotient: " + quotient);
// 使用MathContext和RoundingMode
MathContext mc = new MathContext(10, RoundingMode.HALF_UP);
BigDecimal productWithMC = a.multiply(b, mc);
System.out.println("Product with MathContext: " + productWithMC);
BigDecimal quotientWithMC = a.divide(b, mc);
System.out.println("Quotient with MathContext: " + quotientWithMC);
}
}
通过这些方法,BigDecimal
类提供了精确的数学运算,特别适用于需要高精度计算的场景,如金融计算。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。