在android中用逗号分组数字

时间:2013-11-26 12:19:00

标签: java android

例如: - 双ab = 1234567.00;

预期的输出应该是, AB = 12,34,567;

但是以下格式给出了默认的三位数分组。

DecimalFormat df_separator = new DecimalFormat("###,###,##0.00");

也试过,

DecimalFormat df_separator = new DecimalFormat("###,##,##0.00");

仍然徒劳无功.......

2 个答案:

答案 0 :(得分:2)

你先生,

NumberFormat numberFormat = NumberFormat.getInstance();
String formattedNr = numberFormat.format(12345678L);

这将为您提供:12,345,678.00

编辑:

public String formatDouble(double number)
{
    String result = "";
    String numberStr = String.valueOf(number);  
    char[] charArray = numberStr.toCharArray();
    Character[] charObjectArray = ArrayUtils.toObject(charArray);
    for (int i=charObjectArray.length()-1; i>=0 i++)
    {
        if (charObjectArray[i] == ".")
        {
            result = "." + result;
            continue;
        }
        result = charObjectArray[i] + result;
        if (i % 2 == 0) result = "," + result;
    }
    return result;
}

这是伪代码,因为我没有JVM atm但它应该(几乎)完成这项工作。

修改:最后

将以下jar添加到您的项目中:http://icu-project.org/apiref/icu4j/com/ibm/icu/text/NumberFormat.html

Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in"));
System.out.println(format.format(new BigDecimal("100000000")));

答案 1 :(得分:1)

double ab=1234567.00;
String str = new DecimalFormat("#,##,##,###.00").format(ab);
Log.d("TAG", str);

试试这个。