【问题标题】:How to always show decimal part when using DecimalFormat?使用 DecimalFormat 时如何始终显示小数部分?
【发布时间】:2010-08-30 15:04:50
【问题描述】:
Float sum = new Float(300); // always somehow calculated
DecimalFormat df = new DecimalFormat("#.#");
String s = df.format(sum/3);  // prints 100, I want 100.0
s = df.format(301/3); // pritns 100.3 which is correct

结果应始终格式化为小数点后 1 位,该怎么做?

【问题讨论】:

    标签: java decimalformat


    【解决方案1】:

    改变

    DecimalFormat df = new DecimalFormat("#.#");
    

    DecimalFormat df = new DecimalFormat("#.0");
    

    基本上,0 表示“始终在此位置显示数字”,其中 # 表示“在此位置显示数字,除非它为零”。

    【讨论】:

    • 顺便说一句,如果结果为 0 并且格式化为 ("#.0") 结果将什么都不是?我应该改用 ("0.0") 吗?
    • 如果结果为 0,你将得到 .0。如果你总是想要 0.0,那么你应该把它改成 ("0.0");
    • 是的,我需要等待 10 分钟,因为询问或类似的事情;)
    【解决方案2】:

    您可以阅读有关模式here 的信息。更改以下行应该可以解决问题。

    DecimalFormat df = new DecimalFormat("#.0");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-24
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 2011-01-01
      相关资源
      最近更新 更多