Java:用逗号格式化数字

问题描述

我只希望数字以“易于阅读”的格式输出。例如您可以将100000输出为100.000,这样可读性更好。

是否存在可以用于此目的的方法

解决方法

您可以使用NumberFormat

int n = 100000;
String formatted = NumberFormat.getInstance().format(n);
System.out.println(formatted);

输出:

100,000
,

您可以使用DecimalFormatJava 7+):

var dfs = new DecimalFormatSymbols();
dfs.setGroupingSeparator('.');
var df = new DecimalFormat("###,##0",dfs);
System.out.println(df.format(100000));

输出:

100.000

DecimalFormat具有更大的灵活性,可以将数字按模式转换为字符串。