我想将印度货币兑换成双倍货币。以下是我的代码:
String initalAmount = "2341";
Format format = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
String convertedAmountToINR = format.format(new BigDecimal(initalAmount));
// it prints Rs. 2,341.00
现在,我想将其转换为DOUBLE,如 2341.00 。我尝试了几种方法让它工作但没有。
答案 0 :(得分:2)
请尝试这样,
double doubleINR=Double.parseDouble(convertedAmountToINR);
对于您的情况,请尝试以下,
double d=Double.parseDouble(convertedAmountToINR.replaceAll("Rs.|,", ""));
答案 1 :(得分:0)
您应该将initialAmount转换为这样的双精度:
Double.valueOf(initalAmount);
您无法转换convertedAmountToINR
的原因是因为“Rs”。在它不能转换成双。
答案 2 :(得分:0)
如果您真的想要,可以将convertedAmountToINR
转换回相同的format
对象:
NumberFormat format = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
double value = format.parse(convertedAmountToINR).doubleValue();
这将仅解析使用此格式对象格式化的字符串。