如何在java中将货币格式转换为双精度格式

如何在java中将货币格式转换为双精度格式,java,Java,我正在获得货币格式的值,但我只想要双格式 String amt = txn.getAmount(); System.out.println("--amt--"+amt);//output:1010 double value = Double.parseDouble(amt); System.out.println("---value---"+value);//output:1010.0 String ammount=NumberFormat.getCurrencyInstance().forma

我正在获得货币格式的值,但我只想要双格式

String amt = txn.getAmount();
System.out.println("--amt--"+amt);//output:1010
double value = Double.parseDouble(amt);
System.out.println("---value---"+value);//output:1010.0
String ammount=NumberFormat.getCurrencyInstance().format(value);
System.out.println("--ammount--"+ammount);//output:Rs.1,010.00
这里我想要
Rs.1010.00
1010.00


我的代码中有错误吗?

打印前,请将字符串“Rs.”替换为“”,并将“.”替换为“”

这是处理这个案件的一种方式。
希望这有帮助。

在打印之前,将字符串“Rs.”替换为“”,并将“.”替换为“”

这是处理这个案件的一种方式。
希望这能有所帮助。

试试这种更干净的方法吧

      double d = 1010.00;
      Locale uk = new Locale("en", "GB");
      NumberFormat cf = NumberFormat.getCurrencyInstance(uk);
      String s = cf.format(d);

      System.out.println(s);

      Number number = null;
      try
      {
         number = cf.parse(s);
      }
      catch (ParseException e)
      {
         System.out.print(e);
      }
      double dClone = number.doubleValue();

试试这种更干净的方法

      double d = 1010.00;
      Locale uk = new Locale("en", "GB");
      NumberFormat cf = NumberFormat.getCurrencyInstance(uk);
      String s = cf.format(d);

      System.out.println(s);

      Number number = null;
      try
      {
         number = cf.parse(s);
      }
      catch (ParseException e)
      {
         System.out.print(e);
      }
      double dClone = number.doubleValue();

我想你不想知道货币的详细信息。在这种情况下,请使用getNumberInstance()而不是getCurrencyInstance()

使用:


我想你不想知道货币的详细信息。在这种情况下,请使用getNumberInstance()而不是getCurrencyInstance()

使用:


“.”和“,”的用法是特定于语言的。在其他语言中,“.”和“.”的用法可能会被翻转。这只是针对作者提出查询的情况(特定于语言)。这里真正的解决方案是根本不使用Currency实例,这就是我在评论中提到的以某种方式处理它的原因。这是一个解决问题的视角。对你来说可能不同,对我来说也可能不同。和的用法是特定于语言的。在其他语言中,“.”和“.”的用法可能会被翻转。这只是针对作者提出查询的情况(特定于语言)。这里真正的解决方案是根本不使用Currency实例,这就是我在评论中提到的以某种方式处理它的原因。这是一个解决问题的视角。对你来说可能不同,对我来说也可能不同。为什么你要
getAmount
返回字符串可能重复?@cricket\u 007:不重复请仔细观察,是的<代码>System.out.printf(“%.2f\n”,值)@cricket\u 007:不是yaar,可能重复您为什么要
getAmount
返回字符串?@cricket\u 007:不是重复请仔细观察,是的,它是<代码>System.out.printf(“%.2f\n”,值) > CRKETETY07:不是Yaar,这是非常冗长的“干净”哈哈,我认为这是更干净的其他哈希解决方案,如果你有一个更好的说:考虑DThat非常冗长的“干净”哈哈,我认为这是更清洁的其他哈奇解决方案,如果你有一个更好的说:
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setGroupingUsed(false);
nf.setMinimumFractionDigits(2);
String ammount= nf.format(value);