浮点数据类型在获取1或2个小数位时遇到问题..
但如果你看代码似乎对我好,但输出是不同的..我不想转换成字符串但是co' z我需要在打印之前做一些别的事情..
出于测试目的,我从字面上做了这个。有一些变量和变通方法只是为了简化一切。它假设以12.8结束,但它产生12.8000001,这就是为什么它会跳过我的测试..
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 ??
答案 0 :(得分:0)
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