如何在 Java 中将数字格式化为固定长度,在左侧字符串上用空格填充空格作为千位分隔符,小数点后两位? (比方说 14 个字符的字符串)
即
Number = 10.03 must be: " 10.03"
and
Number = 1235353.93 must be " 1 235 353.93".
最佳答案
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
关于java - 如何在 Java 中将数字格式化为固定长度、空格填充、千位分隔符、2 位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9376031/