Java 如何同时将子字符串转换为整数并存储它们以备将来使用?

Java 如何同时将子字符串转换为整数并存储它们以备将来使用?,java,substring,Java,Substring,我正在读取文本文件的某些部分并将其显示在命令窗口中。子字符串实际上是数字。我想在执行以下操作时将文本转换为字符串 整数实数= 整数.parseInt(数字) 它给出了一个错误: java.lang.NumberFormatException:用于 输入字符串:“0.0091”位于 java.lang.NumberFormatException.forInputString(未知 来源)在 java.lang.Integer.parseInt(未知 来源)在 java.lang.Integer.p

我正在读取文本文件的某些部分并将其显示在命令窗口中。子字符串实际上是数字。我想在执行以下操作时将文本转换为字符串

整数实数= 整数.parseInt(数字)

它给出了一个错误:

java.lang.NumberFormatException:用于 输入字符串:“0.0091”位于 java.lang.NumberFormatException.forInputString(未知 来源)在 java.lang.Integer.parseInt(未知 来源)在 java.lang.Integer.parseInt(未知 (来源)

下面是给出此特定错误的代码:

String read = "";
String number ="";

for (int linenum=0; linenum<400; linenum++) {
    read = inputFile2.readLine();
    if(read == null){}
    else{
        if (read.startsWith("D")) {
            number = read.substring(9,15);
            System.out.println(number);

            int real_numbers = Integer.parseInt(number); 
            System.out.println(real_numbers);
        }
    }
}
String read=”“;
字符串编号=”;

对于(int linenum=0;linenum嗯,0.0091不是整数。您可能需要

Float.parseFloat(number);

使用double还是使用float更好?double使用更多内存,但更精确。在您的情况下,看起来内存使用不是一个问题,所以可能是double。事实上,您甚至可能希望使用BigDecimal。您的if子句可以压缩为just
read!=null&&read.startsWith(“D”)
如果您已经找到适合自己的答案,您应该花一点时间将其注册为已接受