将字符串转换为双精度后的问题

Posted

技术标签:

【中文标题】将字符串转换为双精度后的问题【英文标题】:Problems after converting string to double 【发布时间】:2018-02-04 18:58:08 【问题描述】:

我对 java 还很陌生,因此我不知道为什么这不起作用。你能告诉我为什么会出现这个错误吗?

我已经导入了java.text.NumberFormat

NumberFormat fmt1 = NumberFormat.getcurrencyInstance();
String r = "12579500";
double s = Double.parseDouble(r);
double t = fmt1.format(s);

编译时我得到:不兼容的类型:

string 无法转换为double

【问题讨论】:

你是说String t = fmt1.format(s); 这不可能是您的真实代码:“getcurrency”(全部小写?)请添加最小的可编译示例来演示您的问题。 抱歉,其实是“getCurrencyInstance” 是否需要将“t”改为字符串值? 谢谢YCF_L!它在将“t”更改为字符串值后起作用。 【参考方案1】:

fmt1.format(s) 返回一个String(根据NumberFormat 格式化的String)。doubleString 是不可比较的类型。

final String formatted = fmt1.format(s);

顺便说一句,你在NumberFormat.getCurrencyInstance() 中打错了。

【讨论】:

以上是关于将字符串转换为双精度后的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 '%' 将字符串转换为双精度

将字符串转换为双精度 [重复]

麻烦:将字符串转换为双精度

将字符串转换为双精度的最佳方法

如何使用 Javascript 将货币字符串转换为双精度?

将字符串转换为双精度的 C++ 错误