如何在不使用数字格式的情况下每3位添加逗号?

时间:2018-11-22 01:07:55

标签: java android android-studio

我正在尝试设置值的格式

示例:

1526374856.03

收件人:

1,526,374,856.03

3 个答案:

答案 0 :(得分:1)

尝试一下

/**
 * data format
 *
 * @param data
 * @return
 */
public static String bigDecimalData(String data) {
    if (!TextUtils.isEmpty(data)) {
        BigDecimal bd = new BigDecimal(Double.parseDouble(data));
        DecimalFormat df = new DecimalFormat(",###,####.00");
        return df.format(bd);
    }
    return "";
}

答案 1 :(得分:0)

不使用NumberFormat 来执行此操作,可以将数字转换为String并执行以下代码:

double number = 1526374856.03;
String[] array = Double.toString(number).split(".");
String numString = array[0];

String newString = "";
for(int i = 0; i < numString.length() ; i++){
    if((numString.length() - i - 1) % 3 == 0){
        newString += Character.toString(numString.charAt(i)) + ",";
    }else{
        newString += Character.toString(numString.charAt(i));
    }
}
newString += array[1];

newString现在是新的字符串,其中包含带逗号的数字。

答案 2 :(得分:0)

这是在android中设置金额格式的正确方法。初始化NumberFormat变量,如下所示,然后只需调用Numberformat变量名和方法format

在这种情况下,我的布尔值是any_number变量,并且由于国家/地区而指定了Locale.US。

 NumberFormat nf = NumberFormat.getInstance(Locale.US);

    nf.format(any_number);

希望这对某些人有帮助。