字符串变量中的逗号分隔符

时间:2012-08-16 05:49:24

标签: java struts2 csv

  

可能重复:
  How can I format a String number to have commas and round?

我有一个字符串变量(这是一个字符串格式的数字),现在我想用逗号分隔每三个数字。我该怎么做? 我的技术是Struts2

4 个答案:

答案 0 :(得分:0)

使用NumberFormat

long num = Long.valueOf("1234567890");
String numWithCommas = java.text.NumberFormat.getInstance().format(num);

修改

上面的代码片段默认使用用户当前的语言环境(我猜你可能就是你想要的 - 你想要以用户习惯的方式格式化数字)。如果要设置特定区域设置,可以将Locale的实例传递给getInstance()。为方便起见,Locale类中有许多静态实例可用:

// Always prints with comma as separator
java.text.NumberFormat.getInstance(Locale.ENGLISH).format(num);
// => 1,234,567,890

// Always prints with period as separator
java.text.NumberFormat.getInstance(Locale.GERMAN).format(num);
// => 1.234.567.890

答案 1 :(得分:0)

例如:将100000转为100,000

public class number
{
    public static void main(String args [])
    {
        double d = 123456.78;
        DecimalFormat df = new DecimalFormat("###,### ");
        System.out.
        println(df.format(d));
    }
}

答案 2 :(得分:0)

使用StringBuilder及其insert()方法即可实现此目标。

StringBuilder sb = new StringBuilder("123456987098");
int j = sb.length();

for(int i=3 ; i<j ; i=i+4){

       sb.insert(i,",");

       }

System.out.println(sb.toString());

答案 3 :(得分:-1)

    String string = "1,234,567";
    String[] splits = string.trim().split(",");
    int num = 0;
    for (String split : splits)
    {
        num = (num * 1000) + Integer.parseInt(split.trim());
    }
    System.out.println(num); // prints 1234567