我的百分比被默认的java.text.MessageFormat函数截断了,如何格式化百分比而不损失精度?

例:

String expectedResult = "12.5%";
double fraction = 0.125;

String actualResult = MessageFormat.format("{0,number,percent}", fraction);
assert expectedResult.equals(actualResult) : actualResult +" should be formatted as "+expectedResult;

最佳答案

看起来像这样:

String actualResult = MessageFormat.format("{0,number,#.##%}", fraction);

... 正在工作中。

编辑:要查看#和%的解释方式,请参阅java.text.DecimalFormat的javadoc。

编辑2:是的,它对于国际化是安全的。格式字符串中的点被解释为小数点分隔符,而不是硬编码点。 :-)

关于java - 如何使用java.text.MessageFormat格式化小数百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/698261/

10-09 04:41