【问题标题】:How to print upto two decimal places in java using string builder?java - 如何使用字符串生成器在java中打印最多两位小数?
【发布时间】:2012-03-20 16:43:38
【问题描述】:

您好,我在分割字符串生成器并打印该字符串生成器后尝试打印,让我看看我的代码,

string.append("Memomry usage:total:"+totalMemory/1024/1024+
"Mb-used:"+usageMemory/1024/1024+
" Mb("+Percentage+"%)-free:"+freeMemory/1024/1024+
" Mb("+Percentagefree+"%)");

在上面的代码中,“totalmemory”和“freememory”是双精度类型,字节值在点不为空,所以我将它除以“1024”两次以获得“Mb”,“string”是字符串生成器的变量使用此代码后,我只是将其打印出来,结果如下所示,

Used Memory:Memomry usage: 
total:13.3125Mb-used:0.22920989990234375Mb (0.017217645063086855%)
-free:13.083290100097656Mb (0.9827823549369131%)

我想获得两个小数位的百分比以及 mb 中已用和可用内存的值,例如这个模式中的“used:2345.25”记住

希望你的建议

提前致谢

【问题讨论】:

  • 为什么要使用 StringBuilder?对于这个问题,这是错误的技术。查看答案...

标签: java jsp stringbuilder


【解决方案1】:

这样试试

    double d = 1.234567;
    DecimalFormat df = new DecimalFormat("#.##");
    System.out.print(df.format(d));

使用 DecimalFormat,我们可以按照我们想要的方式格式化。

【讨论】:

    【解决方案2】:

    您可以使用DecimalFormat 打印到小数点后两位。因此,要打印带两位小数的x = 2345.2512,您可以这样写

    NumberFormat f = new DecimalFormat("#.00");
    System.out.println(f.format(x));
    

    这将打印 2345.25。

    【讨论】:

      【解决方案3】:

      String.format()怎么样?

      System.out.println(String.format("output: %.2f", 123.456));
      

      输出:

      output: 123.46
      

      【讨论】:

        【解决方案4】:

        尽管可以使用 NumberFormat 并且它是 DecimalFormat 的子类来解决这个问题, 这些类提供了许多您的应用程序可能不需要的功能。

        如果目标只是漂亮的打印,我建议使用 String 类的格式化函数。对于您的特定代码,它看起来像这样:

        string.append(String.format("Memomry usage:total:%1.2f Mb-used:%1.2f Mb(%1.2f %%)-free:%1.2f Mb(%1.2f %%)",totalMemory/1024/1024,usageMemory/1024/1024,Percentage,freeMemory/1024/1024,Percentagefree));
        

        如果您打算指定一种标准格式,无论它们是从字符串解析还是格式化为字符串,都表示所有数字,那么我建议使用 *Format 类的单例。它们允许您使用标准格式并在方法之间传递格式描述。

        希望能帮助您选择在您的应用程序中使用的正确方法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-12
          • 2013-06-26
          • 1970-01-01
          • 2013-10-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多