1.在电商项目中进行运算的时候,会出现一些丢失精度的问题,这是不允许的,一下是测试精度的一个小方法:
在控制台上输出的数据,精度有问题;
2.在effective java这本书中提到,float、double这些精度的计算只能用在科研领域中一些细小精度可以忽略的方面,在商业计算中一定是用BigDecimal,
BigDecimal一共有四个构造方法,
3.数据库中存储的是double、float经常进行转换的话会比较麻烦,所以写一个工具类这样方便:
package com.mmall.util;
import java.math.BigDecimal;
/**
* @program: mmall
* @description: 精度转换的一个工具
* @author: Hailong
* @create: 2018-08-02 09:15
**/
public class BigDecimalUtil {
private BigDecimalUtil(){
}
public static BigDecimal add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2);
}
public sta