BigDecimal加减乘除运算

您所在的位置:网站首页 bigdecimal乘除 BigDecimal加减乘除运算

BigDecimal加减乘除运算

2024-06-10 22:31| 来源: 网络整理| 查看: 265

BigDecimal

下面这个例子

public class _BigDecimal { public static void main(String[] args) { double d1 =1.0; double d2 =0.9; System.out.println(d1-d2); double result=(1.4-0.5)/0.9; System.out.println(result); } }

输出结果:

0.09999999999999998 0.9999999999999999

这种原因是因为很多实际应用中需要精确运算,而double近似值存储,不符合要求,需要借助BigDecimal

import java.math.BigDecimal; import java.math.BigInteger; public class _BigDecimal { public static void main(String[] args) { double d1 =1.0; double d2 =0.9; // System.out.println(d1-d2); double result=(1.4-0.5)/0.9; // System.out.println(result); //BigDecimal,大的浮点数精确计算 BigDecimal bd1 = new BigDecimal("1.0"); BigDecimal bd2 = new BigDecimal("0.9"); //减法 BigDecimal r1=bd1.subtract(bd2); System.out.println(r1); //加法 BigDecimal r2=bd1.add(bd2); System.out.println(r2); //乘法 BigDecimal r3=bd1.multiply(bd2); System.out.println(bd2); //除法 BigDecimal r4=new BigDecimal("1.4").subtract(new BigDecimal("0.5")) .divide(new BigDecimal("0.9")); System.out.println(r4); BigDecimal r5 = new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP); //保留两位小数,四舍五入 System.out.println(r5); } }

输出结果:

0.1 1.9 0.9 1 3.33



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3