浮动到固定长度的字符串

时间:2017-04-19 11:13:47

标签: java floating-point string-formatting

我试图将浮点值转换为固定长度的字符串。当格式大于%.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?

0 个答案:

没有答案