8

文字列をフロートに変換しようとしていますが、成功しませんでした。

ここに私のコードがあります

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

それが与えるエラーは

Invalid float  "1,9698";

なぜこれをしているのですか?それは有効なフロートです

4

8 に答える 8

14

ピリオドを使用する必要があるときにコンマを使用しています

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

それはうまくいくはずです。

于 2013-06-25T07:13:45.143 に答える
5

「.」の代わりにコンマを追加しました

このようにしてください。

float f1 = Float.parseFloat("1.9698");
于 2013-06-25T07:16:01.577 に答える
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");
于 2013-06-25T07:17:23.430 に答える
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();
}
于 2016-11-23T05:44:02.783 に答える
1

このフロートを使用 f1 = Float.parseFloat("1.9698"); または、(カンマ) を .(ドット) に置き換えます。これは浮動小数点数の無効な形式です。

于 2015-05-29T09:00:35.057 に答える
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 から Small のデータ型にキャストするだけです。

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

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

    l = (long)d;
于 2013-06-27T12:43:15.083 に答える