Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将印度货币兑换成双倍?_Java_Number Formatting_Currency Formatting - Fatal编程技术网

Java 如何将印度货币兑换成双倍?

Java 如何将印度货币兑换成双倍?,java,number-formatting,currency-formatting,Java,Number Formatting,Currency Formatting,我想把印度货币兑换成双倍。下面是我的代码: 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-like2

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

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

请像这样尝试

double doubleINR=Double.parseDouble(convertedAmountToINR);
对于您的情况,请尝试以下内容:

  double d=Double.parseDouble(convertedAmountToINR.replaceAll("Rs.|,", ""));
请像这样试试

double doubleINR=Double.parseDouble(convertedAmountToINR);
对于您的情况,请尝试以下内容:

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

您应该将initialAmount转换为双精度,如下所示:

Double.valueOf(initalAmount);

无法将
convertedAmountToINR
转换的原因是其中的“Rs.”无法转换为双精度。

您应该将initialAmount转换为双精度,如下所示:

Double.valueOf(initalAmount);

无法将
convertedAmountToINR
转换的原因是其中的“Rs.”无法转换为双精度。

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

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

这将只分析使用此format对象格式化的字符串。

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

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

这将只分析使用此format对象格式化的字符串。

为什么不存储新的BigDecimal值并使用它?这看起来像是我的家庭作业。你可以用
double d=double.parseDouble(initalAmount)将它转换成一个doubledouble d=double.parseDouble(initalAmount)将它转换成一个double