public class Test {
public static void main(String[] args) {
//因为计算机的2进制的特性,Java语言(其他语言好像也一样)无法准确地进行float,double类型数据的计算,
//所以,作这些计算的时候需要考虑使用BigDecimal着各类。
int i;
double a = 0;
for ( i = 0; i < 10 ;i++){
a = a + 0.1;
if (a == 1){
System.out.println("0.1加10次应该等于1" );
}
else
{
System.out.println("a的值是:"+a );
}
}
}
}

本文通过一个简单的Java程序演示了使用float和double类型进行算术运算时遇到的精度问题,并建议在需要高精度计算的场景中使用BigDecimal类。

被折叠的 条评论
为什么被折叠?



