gpt4 book ai didi

java - 处理 - 将字符串解析为 float NullPointerException 时抛出

转载 作者:行者123 更新时间:2023-12-01 06:11:34 26 4
gpt4 key购买 nike

我有一个字符串-0.06,0.00,-0.99。我想将第一个数字解析为 float 。

我正在使用:

String myString = "-0.06,0.00,-0.99";
float myFloat = float(split(myString, ",")[0]);
println(split(myString, ",")[0]); // prints -0.06

第二行抛出一个NullPointerException

我也尝试了以下方法并得到了完全相同的错误。

 float myFloat = Float.parseFloat(split(myString, ",")[0]);

如何在不出现 NullPointerException 的情况下将字符串解析为 float 。

实际 MVCE:

我正在使用处理从串行中逐行获取输入。第一个输入是“-0.06,0.00,-0.99”

buffer = port.readStringUntil('\n'); //take input from serial til line-break

float[] acceleration;
if (buffer != null) {
if (buffer.indexOf(",") != -1) {
buffer = trim(buffer);
acceleration[0] = float(buffer.split(",")[0]); // this throws the error
}
}

最佳答案

Java 包含围绕primitive 类型的包装类。例如,有一个包装 float 原语的 Float 类。这些包装类具有 valueOf(String s) 函数,可以将这些 primitive 类型的 String 表示形式解析为它们实际的 primitive 形式。如果格式正确,调用 Float.valueOf(stringRepresentationOfAFloat) 将为您提供一个 float 变量。

请参阅下面的代码示例:

    String floatCsv = "-0.06,0.00,-0.99";
String [] floatCsvSplit = floatCsv.split(",");
for(String floatStringValue : floatCsvSplit){
float floatVariable = Float.valueOf(floatStringValue);
System.out.println(floatVariable);
}

关于java - 处理 - 将字符串解析为 float NullPointerException 时抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33679871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com