我想将一个整数35634646转换为1000个“”,所以它应该是35,634,646。
最快的方法是什么?
我想将一个整数35634646转换为1000个“”,所以它应该是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
其他回答
这是一种方法,也可以替换默认分隔符与任何字符:
val myNumber = NumberFormat.getNumberInstance(Locale.US)
.format(123456789)
.replace(",", "،")
这里有一个解决方案,你谁不能访问“数字格式”或“字符串。Format”(在框架中使用有限版本的Java)。希望对大家有用。
number= 123456789;
thousandsSeparator=",";
myNumberString=number.toString();
numberLength=myNumberString.length;
howManySeparators=Math.floor((numberLength-1)/3)
formattedString=myNumberString.substring(0,numberLength-(howManySeparators*3))
while (howManySeparators>0) {
formattedString=formattedString+thousandsSeparator+myNumberString.substring(numberLength-(howManySeparators*3),numberLength-((howManySeparators-1)*3));
howManySeparators=howManySeparators-1; }
formattedString
你不能用a吗
System.out.printf("%n%,d",int name);
printf中的逗号应该将逗号添加到%d inter中。
不是很肯定,但对我来说还行。
整数:
int value = 100000;
String.format("%,d", value); // outputs 100,000
双打:
double value = 21403.3144d;
String.format("%,.2f", value); // outputs 21,403.31
字符串。格式是非常强大的。
- 根据psuzzi反馈编辑。
int value = 35634646;
DecimalFormat myFormatter = new DecimalFormat("#,###");
String output = myFormatter.format(value);
System.out.println(output);
输出:35634646