浮点数据精确计算之~BigDecimal
一、概述 在大多数情况下,浮点数类型float和double运算 会丢失精度 ,计算的结果是准确的,float和double只能用来做科学计算或者是工程计算,Java在商业计算中要用 java.math.BigDecimal 。 BigDecimal有多种构造函数,常用的有2种。 建议使用String构造方式 ,不建议使用double构造方式。 public BigDecimal(String val); public BigDecimal(double val); Bigdecimal常用方法: 加减乘除: add()、subtract()、multiply()、divide(). 注意: 使用BigDecimal类构造方法传入double类型时,计算的结果也是不精确的; 因为不是所有的浮点数都能够被精确的表示成一个double 类型值,因此它会被表示成与它最接近的 double 类型的值。必须改用传入String的构造方法。 舍入模式: ...... 二、使用 1. 使用BigDecimal计算 public class BigDecimalTest { public static void main(String[] args) { computed(); lossAccuracy(); } /** * 使用BigDecimal 计算 */ public static