关于 float 的问题 帮帮忙 谢谢啊

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:40:50
帮忙看下 谢谢

运行下面的代码

public static void main(String[] args) {

float a = Float.parseFloat("1.0");
for(int i=0;i<6;i++){
float b = a - Float.parseFloat("0.1");
a=b;
System.out.println(a);
}

}

得到的结果是

0.9
0.79999995
0.6999999
0.5999999
0.4999999
0.39999992
我想得到的结果是
0.9
0.8
0.7
0.6
0.5
0.4
应该怎么改啊?

知道的说下 拜托

java 写的

public static void main(String[] args) {

float a = Float.parseFloat("1.0");
for(int i=0;i<6;i++){
float b = a - Float.parseFloat("0.1");
b=(float)(Math.round(b*10))/10;
a=b;
System.out.println(a);
}

}

System.out.println(a);
换成System.out.println(new java.text.DecimalFormat("#.0").format(a));

楼上的方法是可以的,
但是有点问题,不能这样格式化,应该改为System.out.println(new java.text.DecimalFormat("#.#").format(a));