之前面试时有一道简单的浮点数计算编程题。也看了一些文章,稍作总结
import java.math.BigDecimal;
public class Sum
{
// public static void main(String[] args)
// {
// double num1 = 0.01;
// double num2 = 0.01;
// for(int i=0; i<10; i++)
// {
// num2 += num1;
// System.out.println(num2); //这种方法直接计算出来的值有误差
// }
// System.out.println("Hello World!");
// }
public static void main(String args[])
{
//浮点数值尽量用字符串表示
BigDecimal b1 = new BigDecimal("0.01");
BigDecimal b2 = new BigDecimal("0.02");
for (int i=0; i< 10; i++)
{
b2 = b2.add(b1); //调用add()函数做加法
System.out.println(b2);
}
}
}
注释部分输出结果:
正确结果: