关于 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");
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));