我正在尝试设置值的格式
示例:
1526374856.03
收件人:
1,526,374,856.03
答案 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);
希望这对某些人有帮助。