【问题标题】:Format floating point number with leading zeros [duplicate]用前导零格式化浮点数[重复]
【发布时间】:2015-05-07 00:35:47
【问题描述】:

为什么

System.out.format("%03.3f", 1.23456789);

打印1.235 而不是001.235

我的format 字符串如何让001.235 作为以下代码行的输出?

System.out.format(format, 1.23456789);

【问题讨论】:

  • @SashaSalauyou 提交此作为答案。你已经发布了我要提交的内容。

标签: java string-formatting


【解决方案1】:

这里%0后面的数字定义了包括小数点在内的全宽,所以需要改成7

System.out.format("%07.3f", 1.23456789);

【讨论】:

  • 我建议先格式化字符串然后输出。 String.format("%07.3f", 1.23456789);
  • @DanielTung 如果我不需要其他任何字符串,为什么要先格式化然后输出?
【解决方案2】:
DecimalFormat formatter = (DecimalFormat)NumberFormat.getNumberInstance(Locale.US);
formatter.applyPattern("000.###");
System.out.format(formatter.format(1.23456789));

结果:

001.234

Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多