将字符串转换为float:“8.9km”浮动

时间:2014-08-02 09:35:36

标签: java

我的字符串距离为“8.9km”。我需要将它转换为浮动。

因此,如果字符串为“8.9km”,则相应的float将为8.9

如何在Java中实现这一目标?

注意:该值也可以更改为英里/米,因为它是从Google地图中检索的

7 个答案:

答案 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;结尾,则会分别抛出NumberFormatExceptionIllegalArgumentException

答案 6 :(得分:1)

试试这个..我希望它会有所帮助

String km = "8.9km";
float kmInFloat=Float.parseFloat(km.replaceAll("km",""));
System.out.println(kmInFloat);

输出:     8.9