BigDecimal对象的使用示例分享
下文是笔者分享的BigDecimal对象的使用示例,如下所示
BigDecimal作为金额对数据处理的示例分享
为什么要使用BigDecimal对象处理金额类型呢?请看笔者下文的示例
以前我们使用float,double数据类型对金额进行计算时 会出现运算结果不准确的问题,如下代码所示 double num = 0.2 + 0.2 + 0.2; System.out.println("num = " + num); double num2 = 0.78 - 0.7; System.out.println("num2 = " + num2); -------运行以上代码,将输出以下信息-------- num = 0.6000000000000001 num2 = 0.08000000000000007 正是有这些问题的存在,所以我们才在金额计算时 使用BigDecimal数据类型,如下例所示例:
BigDecimal作为金额对数据处理的示例分享
BigDecimal bigD1 = new BigDecimal("9.23230000000000"); BigDecimal bigD2 = new BigDecimal("9.666600000000001"); System.out.println("金额类加法" + bigD1.add(bigD2)); BigDecimal bigD3 = new BigDecimal("9.232300009"); BigDecimal bigD4 = new BigDecimal("9.666600009"); System.out.println("金额类减法" + bigD3.subtract(bigD4)); BigDecimal bigD5 = new BigDecimal("7.6800"); BigDecimal bigD6 = new BigDecimal("4.33"); System.out.println("金额类乘法" + bigD5.multiply(bigD6)); BigDecimal bigD7 = new BigDecimal("10"); BigDecimal bigD8 = new BigDecimal("2"); System.out.println("金额类除法" + bigD7.divide(bigD8)); //保留两位小数 System.out.println(bigD7.divide(bigD8,2,BigDecimal.ROUND_HALF_UP));
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。