public class BigDecimalDemo {
public static void main(String[] args) {
// 定义大浮点数对象 注意: 参数要传入字符串,
// 传入小数虽然不报错但并不能保证运算精确无误
BigDecimal num1 = new BigDecimal("0.1");
BigDecimal num2 = new BigDecimal("0.2");
// 1 add
BigDecimal result01 = num1.add(num2);
System.out.println(result01);// 0.3
// 2 subtract
System.out.println(num1.subtract(num2));// -0.1
// 3 multiply
System.out.println(num1.multiply(num2));// 0.02
// 4 divide
System.out.println(num1.divide(num2));// 0.5
// 5 当 divide 遇到除不尽的情况时
BigDecimal num3 = new BigDecimal("10");
BigDecimal num4 = new BigDecimal("3");
// System.out.println(num3.divide(num4)); 报错 因为除不尽
// 保留3位 四舍五入
System.out.println(num3.divide(num4, 3, BigDecimal.ROUND_HALF_EVEN));// 3.333
// 保留3位 向上取整
System.out.println(num3.divide(num4, 3, BigDecimal.ROUND_UP));// 3.334
// 保留3位 向下取整
System.out.println(num3.divide(num4, 3, BigDecimal.ROUND_FLOOR));// 3.333
}
}
BigDecimal 大浮点数的简单操作
最新推荐文章于 2024-05-27 16:11:59 发布