Java 我如何在数字之间放置字符?

Java 我如何在数字之间放置字符?,java,android,Java,Android,我想把(,)放在从右到右每3个数字之间的大数字小数中。 我怎么做? 对于exp=12345678到12345678,您应该使用NumberFormat来设置数字格式。不要手动在中添加逗号: public static void main(String[] args) throws Exception { final int num = 12345678; final NumberFormat format = NumberFormat.getIntegerInstance();


我想把(,)放在从右到右每3个数字之间的大数字小数中。
我怎么做?
对于exp=12345678到12345678,您应该使用
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
您还可以在
String
类上使用
static
方法
format
,以实现相同的目标:

System.out.println(String.format("%,d", num));
正如其他人指出的,这都是假设默认的
Locale
使用逗号作为分组分隔符,而不是点。您可以在这两种方法中添加
Locale
,以强制解决问题:

final NumberFormat format = NumberFormat.getIntegerInstance(Locale.UK);

String.format
方法实际上采用了一种非常强大的方法,可以告诉它做什么。
NumberFormat
更专门用于仅格式化数字。

尝试如下:

 public static String convert(String number){
        String convert=String.format("%,d", Integer.parseInt(number));
       return convert;
    }

您应该注意,输出取决于区域设置。它也可以是
12.345.678
您应该精确地定义一个区域设置,在该区域设置中,它用
分隔,“
类似于
final NumberFormat format=NumberFormat.getIntegerInstance(Locale.US)可能重复的
 public static String convert(String number){
        String convert=String.format("%,d", Integer.parseInt(number));
       return convert;
    }