首页 > 解决方案 > Integer.parseInt(String) 抛出 NumberFormatExpression

问题描述

我正在从一个包含项目名称及其数量的文件中读取。NumberFormatExpression当我尝试将数量转换为 int 时,我得到了一个。我觉得这可能是由于-标志,但即使删除-它仍然会引发异常

String line = reader.readLine();

while (line != null) {
    String[] delimiter = line.split(",");
    int originalQuantity = Integer.parseInt(delimiter[1]);
    line = reader.readLine();
}

文件内容:

Toilet Papers, -10
Hand sanitizers, 12

标签: javafileexceptionjavafxinteger

解决方案


您在数字的开头包含一个空格。使用trim方法摆脱它。

String line = reader.readLine();
while (line != null) {
    String[] delimiter = line.split(",");
    int originalQuantity = Integer.parseInt(delimiter[1].trim()); // <-- trim here
    line = reader.readLine();
}

推荐阅读