在 Textview 中以千位分隔符和小数格式显示数字

Display number in Textview with thousand separator and decimal format

如何根据设备的 Locale.getDefault() 格式化大于 999 的浮点数。

目前我使用的是十进制格式:

DecimalFormat decim = new DecimalFormat("#.##");
tv.setText(decim.format(someFloat));

千位分隔符:

tv.setText(String.format(Locale.getDefault(), "%,d", someInt));

如果我想显示 3.678,66(或 3,678.66 - 取决于 Locale.getDefault()),如何将两者结合起来?

你可以试试

NumberFormat.getInstance().format(my number)

格式化为默认语言环境

这成功了:

DecimalFormat decim = new DecimalFormat("#,###.##");
tv.setText(decim.format(someFloat));