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

时间:2013-12-08 14:40:39

标签: java android


我想在右边的每三个数字之间加上(,)大数十进制 我是怎么做到的

exp = 12345678至12,345,678

2 个答案:

答案 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;
    }