将字符串转换为双精度后的问题
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
)。double
和String
是不可比较的类型。
final String formatted = fmt1.format(s);
顺便说一句,你在NumberFormat.getCurrencyInstance()
中打错了。
【讨论】:
以上是关于将字符串转换为双精度后的问题的主要内容,如果未能解决你的问题,请参考以下文章