我想将从 *.csv
读取的 "45,978"
解析为双倍。现在我正在做:
double P_current = Double.parseDouble(priceList.get(j));
但是我收到此字符串输入的数字格式异常:
java.lang.NumberFormatException: For input string: "45,978"
我知道我可以将 csv 文件中的所有 ,
更改为 .
这可能会起作用。但是我不希望这样,因为我需要这个文件中的逗号。有什么方法可以将其解析为 double as-it-is
吗?
感谢您的回答!
最佳答案
如果您不想替换任何内容,可以使用Number和 NumberFormat与 Locale#GERMAN :
try {
NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN);
double number = nf.parse("45,978").doubleValue();
} catch(ParseException e) { }
如果您想与语言环境无关,只需将 ,
替换为 .
即可获取 Double#parseDouble
使用的格式.
关于java - 将 "45,978"解析为双值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932470/