有时候涉及到数字计算的情况下,jsp页面可能会出现精度丢失的问题,例如,1.0显示成0.99999999这种问题。下面是这个问题的解决方案,以供参考。
在处理这个问题之前,首先需要查看以下数据库该字段定义的类型。最好是decimal这个类型。
在程序中用到数字计算的地方,需要用到java.math.BigDecimal类来进行精确计算。
**
BigDecimal 的基本方法
public BigDecimal add(BigDecimal value); //加法
public BigDecimal subtract(BigDecimal value); //减法
public BigDecimal multiply(BigDecimal value); //乘法
public BigDecimal divide(BigDecimal value); //除法
**
在进行计算的时候,需要进行几个步骤。
1.将需要计算的数字转换成BigDecimal。使用BigDecimal的构造函数即可。
BigDecimal b = new BigDecimal(String s);
2.调用BigDecimal的方法进行计算。
例如:进行a-b. a.subtract(b)。
3.根据自己的需求类型转换计算后的数据类型。
这样就把数据处理完成了。