如何将印度货币转换为两倍?

How to convert INDIAN currency to double?

我想将印度货币转换成双倍。下面是我的代码:

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。我尝试了几种方法让它工作但没有。

请这样试,

double doubleINR=Double.parseDouble(convertedAmountToINR);

对于您的情况,请尝试以下操作,

  double d=Double.parseDouble(convertedAmountToINR.replaceAll("Rs.|,", ""));

您应该像这样将 initialAmount 转换为双精度值:

Double.valueOf(initalAmount);

之所以不能转换convertedAmountToINR是因为里面的"Rs."不能转换成double

如果您确实需要,可以使用相同的 format 对象将 convertedAmountToINR 转换回:

NumberFormat format = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
double value = format.parse(convertedAmountToINR).doubleValue();

这将仅解析使用此格式对象格式化的字符串。