0.3*3=0.899999999?解决办法

0.3*30.899999999????奇怪唉0.3*30.899999999?? 不等于0.90.2*61.200000002?? 不等于1.2自己编的以及从

0.3*3=0.899999999????
奇怪唉
0.3*3=0.899999999 ?? 不等于0.9
0.2*6=1.200000002 ?? 不等于1.2
自己编的以及从网上下载的java计算器代码运行后都出现类似问题,怎么样规范数据显示?请教!!!!!

[解决办法]
浮点型能表示的小数位有限float是7位,double是14位

http://blog.csdn.net/nujiah001/article/details/6657410
[解决办法]

Java code
                BigDecimal param = new BigDecimal(String.valueOf(0.3));        BigDecimal result = new BigDecimal(3);        System.out.println(result.multiply(param).doubleValue());
[解决办法]
java数据是用二进制表式的,会有精读损失。。。
[解决办法]
用BigDecimal
[解决办法]
java用于精确计算会有误差的,sun公司说明了的