我想将一个整数35634646转换为1000个“”,所以它应该是35,634,646。

最快的方法是什么?


当前回答

这是一种方法,也可以替换默认分隔符与任何字符:

val myNumber = NumberFormat.getNumberInstance(Locale.US)
   .format(123456789)
   .replace(",", "،")

其他回答

你要求最快,但也许你的意思是“最好”、“正确”或“典型”?

您还要求使用逗号来表示数千,但也许您的意思是“按照用户的本地习惯使用正常的人类可读格式”?

你可以这样做:

    int i = 35634646;
    String s = NumberFormat.getIntegerInstance().format(i);

美国人将得到" 35634,646 "

德国人将得到“35.634.646”

瑞士籍德国人将得到"35'634'646"

使用带逗号的%d格式说明符:%,d

这是目前为止最简单的方法。

/**
@inpute 100000
@return 1,000,000
*/
    public static String addComma(long amount) {
        return NumberFormat.getNumberInstance(Locale.US).format(amount);
    }

这个解决方案对我很有效:

NumberFormat.getNumberInstance(Locale.US).format(Integer.valueOf("String Your Number"));
int bigNumber = 1234567;
String formattedNumber = String.format("%,d", bigNumber);