2013-06-25 3 views
6

Я пытаюсь преобразовать строку в float, но я не смог добиться успеха.конвертировать строку в float в android

вот мой код

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

ошибка дает это

Invalid float "1,9698"; 

почему он это делает? он является действительным поплавок

+2

удалить ',' !! Я думаю, вы хотели добавить '.' –

+0

следует заменить его на. ? –

+0

@ayilmaz Да, это правильно – Bigflow

ответ

10

Вы используете запятую, когда вы должны использовать период

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

Это должно работать.

5

Вы добавили запятую вместо '.'

Делай это.

float f1 = Float.parseFloat("1.9698"); 
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"); 
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); 

Также несколько раз нам нужно Тип Casting: литье типа требуется, когда мы используем одни и те же данные, но в другом типе. только вы отбрасываете от большого до малого.

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

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

    l = (long)d; 
1

этот поплавок f1 = Float.parseFloat ("1.9698"); или заменить, (запятая) на. (точка), которая является недопустимой формой номера флота

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(); 
} 
+0

Некоторые комментарии были бы хорошими. Вопрос спрашивает, почему его код не работает. Было бы неплохо ответить на этот вопрос. –

+0

, потому что comma (,) не преобразуется в float, поэтому мы используем decimalformat – Makvin