我想在右边的每三个数字之间加上(,)大数十进制
我是怎么做到的
exp = 12345678至12,345,678
答案 0 :(得分:5)
您应该使用NumberFormat
来格式化您的号码。不要手动添加逗号:
public static void main(String[] args) throws Exception {
final int num = 12345678;
final NumberFormat format = NumberFormat.getIntegerInstance();
System.out.println(format.format(num));
}
输出:
12,345,678
您还可以使用static
类上的format
方法String
来实现相同的目标:
System.out.println(String.format("%,d", num));
正如其他人所指出的那样,所有假设您的默认Locale
都是逗号用作分组分隔符而不是点的分隔符。您可以在这两种方法中添加Locale
来强制解决问题:
final NumberFormat format = NumberFormat.getIntegerInstance(Locale.UK);
和
System.out.println(String.format(Locale.UK, "%,d", num));
String.format
方法实际上需要一个format String
,这在你可以告诉它的方面相当强大。 NumberFormat
更专门用于格式化数字。
答案 1 :(得分:3)
尝试这样:
public static String convert(String number){
String convert=String.format("%,d", Integer.parseInt(number));
return convert;
}