Java NumberFormat解析方法返回负结果!

Java NumberFormat解析方法返回负结果!,java,macos,formatting,Java,Macos,Formatting,我正在尝试将字符串值格式化为有效的双精度货币,如下所示 NumberFormat currency=NumberFormat.getCurrencyInstance(); currency.parse("10").doublevalue(); 问题是我得到了一个负数,我得到了-10!。那么这个代码有什么问题吗 谢谢尽量使用 double d = Double.parseDouble("10"); 我想你有点误解了数字格式的作用 您只需拨打: double d= Double.parse

我正在尝试将字符串值格式化为有效的双精度货币,如下所示

NumberFormat currency=NumberFormat.getCurrencyInstance();
currency.parse("10").doublevalue();
问题是我得到了一个负数,我得到了-10!。那么这个代码有什么问题吗

谢谢

尽量使用

double d = Double.parseDouble("10");

我想你有点误解了数字格式的作用

您只需拨打:

   double d= Double.parseDouble("10");
   NumberFormat currency=NumberFormat.getCurrencyInstance();
   System.out.println(currency.format(d));
对我来说,这会打印出10.00英镑,这是它希望传递到parse方法中的字符串


HTH

我得到
java.text.ParseException:无法解析的数字:“10”
我同意,这很奇怪。我必须添加一个货币符号“£”,它才能工作。您所在的地区是什么?这是实际的代码(由于大小写错误而无法编译)发布您的货币类型:
System.out.println(currency.getCurrency())也发布打印语句。