【发布时间】:2013-09-16 11:57:36
【问题描述】:
我正在从 CSV 文件中读取数据。其中一个字段包含值1,167.40。读取该字段的代码如下:
String csvFilename = "TEST_FILE.csv";
CSVReader csvReader = new CSVReader(new FileReader(csvFilename));
String[] row = null;
csvReader.readNext(); // to skip the headers
while((row = csvReader.readNext()) != null)
{
double val = Double.parseDouble(row[0]); // !!!
}
csvReader.close();
double val = Double.parseDouble(row[0]) 行导致以下错误消息:
java.lang.NumberFormatException:对于输入字符串:“1,167.40”
如何解决这个问题?
附:对于 111.64 等其他值,不会出现此错误。
【问题讨论】:
-
Double.pareseDouble()不喜欢您提供的字符串中的,。您是否尝试过从输入中删除,?我假设 1,167.40 与 1167.40 相同。 -
我猜 NumberFormatException 发生的原因是逗号(,)。尝试从 csv 文件中删除它。
标签: java double number-formatting numberformatexception