将字符串转换为浮动在android中

时间:2013-06-25 07:08:16

标签: java android

我正在尝试将字符串转换为float但我无法成功。

这是我的代码

float f1 = Float.parseFloat("1,9698");

它给出的错误是

Invalid float  "1,9698";

为什么这样做?它是一个有效的浮点数

7 个答案:

答案 0 :(得分:10)

您应该使用句号时使用逗号

float f1 = Float.parseFloat("1.9698");

这应该有效。

答案 1 :(得分:5)

您添加了逗号而不是'。'

这样做。

float f1 = Float.parseFloat("1.9698");

答案 2 :(得分:4)

Hope this will help you..

    Float number;
    String str=e1.getText().toString();
    number = Float.parseFloat(str);

Or In one line-

    float float_no = Float.parseFloat("3.1427");

答案 3 :(得分:1)

这是类型转换: 当我们在任何变量中使用不同类型的数据时,需要进行类型转换。

    String str = "123.22";

    int i = Integer.parseInt(str);
    float f = Float.parseFloat(str);
    long l = Long.parseLong(str);
    double d= Double.parseDouble(str);

    str = String.valueOf(d);
    str = String.valueOf(i);
    str = String.valueOf(f);
    str = String.valueOf(l);

有时候我们需要类型转换: 当我们使用相同数据但不同类型时需要类型转换。 只有你将Big转换为小数据类型。

    i = (int)f;
    i = (int)d;
    i = (int)l;

    f = (float)d;
    f = (float)l;

    l = (long)d;

答案 4 :(得分:1)

使用此浮点数f1 = Float.parseFloat(“1.9698”);或者用(。点)代替(逗号),这是无效的邮票号码

答案 5 :(得分:1)

Float total = Float.valueOf(0);
try
{
    total = Float.valueOf(str);
}
catch(NumberFormatException ex)
{
    DecimalFormat df = new DecimalFormat();
    Number n = null;
    try
    {
        n = df.parse(str);
    } 
    catch(ParseException ex2){ }
    if(n != null)
        total = n.floatValue();
}

答案 6 :(得分:0)

在科特林:

stringValue.toFloatOrNull() ?: 0F

这将给 NumberFormatException 免费转换。

更精确:

private fun getFloat(stringValue: String) = stringValue.toFloatOrNull() ?: 0F