Java 如何使用尾数分隔符获取字符串的双值?

Java 如何使用尾数分隔符获取字符串的双值?,java,Java,我有以下字符串: String p = "33,644.234"; 如何将其转换为双倍值 下面给出了java.lang.NumberFormatException:对于输入字符串:“33644.234” 请建议。删除逗号,然后对其进行分析 double d = Double.parseDouble(p.replace(",","")); 根据OP的更新,他希望double以原始形式打印,带有逗号。答案来自于 输出: 33,644.23 去掉逗号?不,我做不到。我需要双倍于33644的输出

我有以下字符串:

String p = "33,644.234";
如何将其转换为双倍值

下面给出了
java.lang.NumberFormatException:对于输入字符串:“33644.234”


请建议。

删除逗号,然后对其进行分析

 double d = Double.parseDouble(p.replace(",",""));
根据OP的更新,他希望double以原始形式打印,带有逗号。答案来自于

输出:

33,644.23

去掉逗号?不,我做不到。我需要双倍于33644的输出。234@AnushreeAcharjee,如果您想
以该格式打印
双精度打印,请参阅我答案的更新。谢谢merlin2011。如果我希望输出类型为double,而不是String,有什么办法吗?计算机中的
double
的真正形式存储为一组位。Java默认的双精度打印方式不提供
,这就是为什么我们需要使用
String.format
以某种方式显示它。听起来不错,但请记住该解决方案不支持i18nproperly@AleZalazar,没错,但我想OP会澄清他是否也需要。
System.out.println(String.format("%1$,.2f", d));
33,644.23