这个问题在这里已经有答案了:
java中如何将数字四舍五入到小数点后n位(35个答案)
5年前关门了。
我有问题的浮动数据类型在获得1或2位小数点。。
但如果你看代码,我觉得没问题,但输出是不同的。。我不想转换成字符串,但co'z我需要做一些其他的打印出来之前。。
只是为了测试的目的,我做了这个字面上。有一些变量和解决方法可以简化一切。它应该在12.8结束,但它产生12.800001,这就是为什么它跳过我的测试。。
float oh=11.0f;
int retval=1;
while (oh<=12.8)
{
//System.out.printf("%-11s",dec_format.format(oh)+'K');
System.out.println(oh);
oh=oh + 0.3f;
}
输出为:11.0 11.3 11.6 11.900001 12.200001 12.500001
它应该在12.8结束,为什么是…00001??
1条答案
按热度按时间icomxhvb1#
System.out.printf("%2.3f", 2.887);
印刷品2.887
System.out.printf("%2.2f", 2.887);
印刷品2.89
System.out.printf("%2.1f", 2.887);
印刷品2.9