java - 在android中用逗号对数字进行分组

标签 java android

例如:- double ab=1234567.00;

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

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

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

也尝试过,

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

仍然是徒劳的......

最佳答案

你来了

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")));

关于java - 在android中用逗号对数字进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20216903/

相关文章:

java - 从证书文件中获取 key 用于 AES 算法加密和解密

java - 列表迭代 - 用户选择传递给 servlet 的值

android - 从 apk 文件中获取图标

android - 添加 OnClickListener 时出现异常

java - 解析android中的xml文件,获取给定节点的所有属性

java - 多线程应用程序中的可选调试输出——我的意思是*针对客户端*,而不是为了找出死锁或错误

java - 使用 Tomcat/Websphere 将 JSP 编译为字符串或内存字节数组

java - 如何在 Linux centOS 中安装 JDK

android - 新建Android项目后无法生成R.java

android -\n 出现在字符串中不起作用