我有一个代表美元金额的字符串,并试图在其上使用 .replaceAll("$", "") 以准备与 parseDouble() 一起使用。但是,当我运行我的应用程序时,我仍然得到一个java.lang.NumberFormatException: Invalid double: "$100.00"
,所以无论出于何种原因,replaceAll() 似乎都不起作用。谁能建议为什么?
这是受影响的代码块:
public String subtractCurrenciesToString(String value1, String value2){
String stringValue1 = value1.replaceAll("$", "");
String stringValue2 = value2.replaceAll("$", "");
Double currency1 = Double.parseDouble(stringValue1);
Double currency2 = Double.parseDouble(stringValue2);
return MoneyFormat.format(currency1 - currency2);
}
注意:MoneyFormat 是使用 getCurrencyInstance() 初始化的 NumberFormat 对象。