固定长度。空间spadded,千位分隔符,Java中的2位小数值格式

时间:2012-02-21 10:37:26

标签: java

如何将数字格式化为固定长度,空格填充在左侧字符串上,空格为千位分隔符,Java中有2个小数位? (比方说14个字符串)

Number = 10.03 must be "         10.03" and  
Number 1235353.93 must be   "  1 235 353.93".

3 个答案:

答案 0 :(得分:15)

DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
DecimalFormat format = new DecimalFormat("#,###.00", symbols);

System.out.format("%14s\n", format.format(1235353.93));
System.out.format("%14s\n", format.format(10.03));

以上打印在我的机器上:

  1 235 353.93
         10.03

如果要将结果存储到变量中,也可以使用String.format

String formatted = String.format("%14s", format.format(1235353.93));

System.out.println("Formatted Number is " + formatted);

但是,如果您不想使用(空格)作为分组分隔符,您可以简单地完成此操作:

String.format("%,14.2f", 234343.34);

哪个会打印:

    234,343.34

答案 1 :(得分:0)

尝试String#format() - 它的格式字符串可以让你做你需要的。

答案 2 :(得分:0)

如果您这样做是为了格式化货币,那么使用区域设置会更加健壮:

__lt__()