Вопрос по android, java – Как преобразовать строку в значение с плавающей точкой в Android [дубликат]

22

Possible Duplicate:
String from EditText to float

В приложении я хочу преобразовать введенную строку в поле редактирования в соответствующее значение, например233243664376347845.89 соответствующему значению с плавающей запятой. Но он возвращает как IE10 после некоторого числа, например23324366IE10 Пожалуйста, помогите мне. Мой код -

NumberFormat format = NumberFormat.getInstance(Locale.US);

try 
{
    number = format.parse(e1.getText().toString());
} catch (ParseException e) 
{
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Длина текста редактирования превышает 20 цифр, также я хочу минус два значения с плавающей точкой для редактирования текста ...

Попробуйтеdouble значение. Stephan
Float f = Float.parseFloat (str); MAC
double значение (это неfloat) разбирается просто отлично. Проблема в том, что это неdisplayed право. Где код, который печатаетnumber? Jon
использовать Float.valueOf (String):docs.oracle.com/javase/1.4.2/docs/api/java/lang/… Blackbelt

Ваш Ответ

3   ответа
50
String s = e1.getText().toString();
Float f= Float.parseFloat(s);
Error: User Rate Limit Exceeded
0

Попробуй это.

EditText edt = (EditText) findViewById(R.id.edit_float);
float number = Float.valueOf(edt.getText().toString());

Вы используете метод valueOf (), если класс-оболочка Float конвертирует строку в число с плавающей точкой. В этом примере я получаю объект Editable этого EditText с помощью getText (), для которого я вызываю метод toString (), чтобы получить из него строку.

Error: User Rate Limit Exceeded user1235251
18

Это решит вашу проблему:

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

Похожие вопросы