我的字符串距离为“8.9km”。我需要将它转换为浮动。
因此,如果字符串为“8.9km”,则相应的float将为8.9
如何在Java中实现这一目标?
注意:该值也可以更改为英里/米,因为它是从Google地图中检索的
答案 0 :(得分:3)
您可以尝试以下代码
String dis = "8.9km";
Float distance = Float.valueof(dis.substring(0,dis.indexOf("km")));
float d = distance.floatValue();
答案 1 :(得分:1)
你可以做到
String distance = "8.9km";
float distanceInFloat = Float.parseFloat(distance.substring(0,distance.indexOf("km")));
System.out.println(distanceInFloat);
输出:
8.9
答案 2 :(得分:1)
使用以下代码:
String s="8.9km";
s=s.replace("km", "");
float f=Float.parseFloat(s);
System.out.println(f);
<强>输出:强>
8.9
希望它有所帮助。
答案 3 :(得分:1)
尝试以下方法从字符串中删除所有非数字(不包括“。”)
String distance = "7.9km";
float floatValue = Float.parseFloat(distance.replaceAll("[^\\d.]",""));
System.out.println(floatValue);
答案 4 :(得分:1)
String str = "8.9km";
str = (str.replace("km", ""); //remove the km
float f = Float.parseFloat(str); //convert the string to a float
浮点数f现在的值为8.9
System.out.println(f);
输出:
8.9
答案 5 :(得分:1)
试试这个:
public float parse(String string, String suffix) { // suffix can be m, km etc.
if (!string.endsWith(suffix)) {
throw new IllegalArgumentException();
}
string = string.subString(0, string.length() - suffix.length()); // get rid of the suffix we have at the end
return Float.parseFloat(string); // parse the float from what we have left
}
如果浮动无效,或者字符串没有以&#34; km&#34;结尾,则会分别抛出NumberFormatException
或IllegalArgumentException
。
答案 6 :(得分:1)
试试这个..我希望它会有所帮助
String km = "8.9km";
float kmInFloat=Float.parseFloat(km.replaceAll("km",""));
System.out.println(kmInFloat);
输出: 8.9