在项目中,会涉及到金钱的计算,会涉及到到小数点后面几位的运算:
- BigDecimal为不可变、任意精度的有符号十进制数。值unscaledValue * 10-scale,其中unscaledValue(非标度值)为任意精度整数,scale(标度)为32位整型(可负)。
- 计算器要求20位精确度且支持超大数,double类型(最多支持16位有效数字且最大值仅支持10^308次方)不够用,可用BigDecimal承载数据进行运算。
- BigDecimal支持任意精度和长度浮点数运算,运算时最好设各操作数小数精确度。特别除法需设保留几位小数,没设小数精确度则结果精确度等同操作数中最低精确度致结果不正确。
所以说在进行项目书写的,涉及到金融的项目的时候要用BigDecimal来进行运算,这样的话 在进行小数运算的时候,就不会出错了。