我正在从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: For input string: "1,167.40"
如何解决这个问题?
附注:对于其他值,如111.64
,不会出现此错误。
Double.parseDouble()
不喜欢你提供的字符串中有,
。你尝试过从输入中删除,
吗?我假设 1,167.40 和 1167.40 是相同的。 - Mateusz Andrzejewski