概述
为什么要使用BigDecimal类型呢?
BigDecimal可以进行超过16位有效位的数值的准确运算,而我们所熟知的浮点型float的精度为6-7位有效数字,Double类型则为15-16位有效数字。
这不是关键,浮点型变量在进行计算的时候会出现丢失精度的问题,所以我们为了保证数据的准确性,需要用到BigDecimal去进行高精度的运算。
BigDecimal的加减乘除:
BigDecimal 的加减乘除不能用简单的+-*/去做为操作符,而是提供了API供我们调用。
下面我们举个栗子:
通用代码:
BigDecimal a = new BigDecimal("10");
BigDecimal c = new BigDecimal("5");
BigDecimal d = null;
加(add)
例:c= a + b
c = a.add(b);
减(substract)
例:c = a - b
c = a.substract(b);
乘(multiply)
例:c = a * b
c = a.multiply(b);
除:(divide)
例:c = a / b
c = a.divide(b);
特别注意:
除法的结果有可能会出现无限循环小数,这时候c = a.divide(b)会报错
Non-terminating decimal expansion; no exact representable decimal result
我们需要改动一下,一般情况下保留两位小数 四舍五入即可:
c = a.divide(b, 2, BigDecimal.ROUND_HALF_UP);
最后
以上就是俊秀金毛为你收集整理的JAVA BigDecimal类型加减乘除操作的全部内容,希望文章能够帮你解决JAVA BigDecimal类型加减乘除操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复