我试图将浮点值转换为固定长度的字符串。当格式大于%.6
时,我收到了意外的输出。示例代码和输出如下,
public class Test {
public static void main(String[] args) {
float a=10.9f;
System.out.println(String.format("%07.2f", a));
System.out.println(String.format("%09.4f", a));
System.out.println(String.format("%011.6f", a));
System.out.println(String.format("%012.7f", a));
System.out.println(String.format("%013.8f", a));
}
}
输出
0010.90
0010.9000
0010.900000
0010.8999996
0010.89999962
为什么我会收到8999996& 89999962而不是9000000& 90000000?