我正在尝试将小数8.6呈现为左侧的零填充字符串,即08.6

为什么以下内容似乎无效?

double number = 8.6;
String.format("%03.1f", number); //expect "08.6", get "8.6"


格式化字符串似乎是正确的。我究竟做错了什么?

最佳答案

它为您提供了一个左填充零的浮点输出,只是3的字段宽度包括小数点和小数部分(如果是负数,还包括符号),因此您需要使用%04.1f代替对于那个特定的价值。

输出:

public class Test {
    public static void main(String[] args) {
        double number = 8.6;
        System.out.println(String.format("%04.1f", number));
    }
}


是:

08.6

10-07 19:20
查看更多