【发布时间】:2014-09-17 20:00:11
【问题描述】:
我需要将一些字符串转换为双精度。
这些字符串来自第三方服务,可能会改变格式。
我需要创建一个接受字符串并返回双精度的函数。
字符串可以是:
- “80.00”
- “80.50”
- “80,50”
- “80,00”
- “80”
- “1.500.50”
- “1500.50”
- “1500,00” 等等……
我尝试的是:
function double convert(String s){
s = s.replace(".","").replace(",",".");
return Double.parseDouble(s);
}
这并没有涵盖所有情况。
有人可以帮帮我吗?
谢谢!
【问题讨论】:
-
那太痛苦了。你怎么知道
1,500是1.500还是1500? -
你的替换不是要把 80.00 变成 8000、1.500.00 变成 150000 等等吗?
-
如何将#6 转换为双精度数?
-
同意@HuStmpHrrr。首先需要有关区域设置的更多信息。