如何使用字符串生成器在java中打印最多两个小数位?

时间:2012-03-02 06:17:35

标签: java jsp stringbuilder

嗨我想在分割字符串构建器并打印后打印字符串构建器让我看看我的代码

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中使用和空闲内存的值,就​​像这个“使用:2345.25”一样记住

希望得到你的建议

先谢谢

4 个答案:

答案 0 :(得分:12)

String.format()怎么样?

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

输出:

output: 123.46

答案 1 :(得分:2)

试试这个

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

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

答案 2 :(得分:1)

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

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

将打印2345.25。

答案 3 :(得分:1)

即使可以使用NumberFormat及其子类DecimalFormat来解决此问题, 这些类提供了许多应用程序可能不需要的功能。

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

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类的单例。它们允许您使用标准格式,也可以在方法之间传递格式描述。

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