BigDecimal构造参数Double和String的区别
在处理长度,价格等数据时,我们总会用到BigDecimal。BigDecimal有很多的好处,但是我们在调用其构造函数的时候,也要选好参数,否则可能会得出错误的结果。
BigDecimal的构造方法常用的可以传double和String作为参数,平常如果不注意的话,会以为传个0.1d和”0.1”进去,得到的结果是一样的。但事实上,结果却出乎意料。我们可以做个简单的测试:
public static void main(String[] args) { BigDecimal doubled = new BigDecimal(0.1d);BigDecimal stringd = new BigDecimal("0.1");System.out.println(doubled);System.out.println(stringd); }