刚才遇到一个问题
Double a=300.09;
Float b=300.09f;
System.out.println(a*100);
System.out.println(b*100);
结果是:
30008.999999999
30009.0
请问为什么double计算的结果不对呢?
[url]http://www.iteye.com/problems/26677[/url]
new BigDecimal(String.valueOf(a)).multiply(new BigDecimal(String.valueOf(100)) 这是你想要的结果
精确的位不同,如果要一样要转成float的