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

最快的方法是什么?


当前回答

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

NumberFormat.getNumberInstance(Locale.US).format(Integer.valueOf("String Your Number"));

其他回答

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

NumberFormat.getNumberInstance(Locale.US).format(Integer.valueOf("String Your Number"));
System.out.println(NumberFormat.getNumberInstance(Locale.US).format(35634646));
Output: 35,634,646

使用扩展

import java.text.NumberFormat

val Int.commaString: String
  get() = NumberFormat.getInstance().format(this)

val String.commaString: String
  get() = NumberFormat.getNumberInstance().format(this.toDouble())

val Long.commaString: String
  get() = NumberFormat.getInstance().format(this)

val Double.commaString: String
  get() = NumberFormat.getInstance().format(this)

结果

1234.commaString => 1,234
"1234.456".commaString => 1,234.456
1234567890123456789.commaString => 1,234,567,890,123,456,789
1234.456.commaString => 1,234.456

你不能用a吗

System.out.printf("%n%,d",int name);

printf中的逗号应该将逗号添加到%d inter中。

不是很肯定,但对我来说还行。

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

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