您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
Java中的BigDecimal
类提供了丰富的精度操作方法,这些方法允许你在执行算术运算时控制结果的精度和舍入行为。以下是一些常用的精度操作方法:
BigDecimal(String val)
: 使用字符串表示的数值来创建BigDecimal
对象。BigDecimal(int val)
: 使用整数来创建BigDecimal
对象。BigDecimal(double val)
: 使用双精度浮点数来创建BigDecimal
对象(不推荐,因为可能会引入精度问题)。setScale(int newScale, RoundingMode roundingMode)
: 设置小数点后的位数,并指定舍入模式。
newScale
: 新的小数位数。RoundingMode
: 舍入模式,例如RoundingMode.HALF_UP
, RoundingMode.DOWN
, RoundingMode.CEILING
, RoundingMode.FLOOR
等。add(BigDecimal augend)
: 返回两个BigDecimal
对象的和。subtract(BigDecimal subtrahend)
: 返回两个BigDecimal
对象的差。multiply(BigDecimal multiplicand)
: 返回两个BigDecimal
对象的积。divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
: 返回两个BigDecimal
对象的商,可以指定结果的小数位数和舍入模式。compareTo(BigDecimal val)
: 比较两个BigDecimal
对象的大小。equals(Object obj)
: 判断两个BigDecimal
对象是否相等。stripTrailingZeros()
: 去除结果中的尾随零。toPlainString()
: 返回不带指数的字符串表示形式。toEngineeringString()
: 返回工程记数法表示的字符串。toBigInteger()
: 将BigDecimal
转换为BigInteger
(如果小数部分为零)。import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalExample {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("123.456");
BigDecimal b = new BigDecimal("78.9");
// 加法
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, 2, RoundingMode.HALF_UP);
System.out.println("Quotient: " + quotient);
// 设置精度和舍入模式
BigDecimal scaledValue = a.setScale(2, RoundingMode.DOWN);
System.out.println("Scaled Value: " + scaledValue);
}
}
通过这些方法,你可以灵活地控制BigDecimal
对象的精度和舍入行为,确保计算结果的准确性和一致性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。