BigDecimal --处理double/float精度问题

需求: 做金额相关的处理, eg: 计算1.0 - 0.7的结果

public static void main(String[] args) {
		System.out.println(1.0 - 0.7);
		System.out.println(new BigDecimal(1.0).subtract(new BigDecimal(0.7)));
		System.out.println(new BigDecimal("1.0").subtract(new BigDecimal("0.7")));
	}

运行结果:

0.30000000000000004
0.3000000000000000444089209850062616169452667236328125
0.3

备注: BigDecimal 处理浮点数计算时, 需要将浮点数对象以字符串的形式转为BigDecimal 对象;

猜你喜欢

转载自blog.csdn.net/weixin_39039342/article/details/84849589