【发布时间】:2021-12-20 22:29:42
【问题描述】:
我想创建一个方法,将字符串值转换为 在 特定字符串之后的双精度值。
例如:String text1 = "--generalus! -maximus? --petrus 23 --param 123.456";
我在param 出现param 之后搜索值。如果没有param-word,我必须返回一个Double.NaN。
我试图将字符串拆分为一个数组以使用索引,但parseDouble-方法不起作用......
你能帮帮我吗?
public double parseParam(String text) {
String[] arr = text.split("\\s");
String param = "param";
for (int i = 0; i < arr.length;i++){
System.out.println(arr[i]); //just for me to show whats going on
if(arr[i].equals(param)){
return Double.parseDouble(arr[i+1]);
}
}
return Double.NaN;
}
【问题讨论】:
-
您的尝试失败的原因是您测试的是
"param"而不是"--param"。但是有更好的方法来解决这个问题;查看答案。
标签: java arrays string parsing double