2012-05-24 72 views
18

thể trùng lặp:
String from EditText to floatLàm thế nào để chuyển đổi chuỗi thành giá trị float trong android

Trong ứng dụng Tôi muốn chuyển đổi chuỗi nhập vào hộp soạn thảo với giá trị tương ứng như 233243664376347845.89 tương ứng giá trị nổi. Nhưng nó trả về như IE10 sau một số ví dụ 23324366IE10 Xin hãy giúp tôi. Mã của tôi là -

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

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

Tóm lược sửa đổi văn bản chiều dài là lớn hơn sau đó 20 chữ số, còn tôi muốn trừ hai giá trị float chỉnh sửa văn bản ...

+0

Thử giá trị 'double'. – Stephan

+0

sử dụng Float.valueOf (Chuỗi): http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Float.html#valueOf%28java.lang.String%29 – Blackbelt

+1

The 'double 'giá trị (nó không phải là một' float') được phân tích cú pháp tốt. Vấn đề là nó không * hiển thị * đúng. Mã số in số 'ở đâu? – Jon

Trả lời

41
String s = e1.getText().toString(); 
Float f= Float.parseFloat(s); 
+2

Bạn sẽ bắt được NumberFormatException trong trường hợp lỗi. –

14

này sẽ giải quyết vấn đề của bạn:

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

Hãy thử điều này.

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

Bạn sử dụng phương thức valueOf() nếu lớp Trình bao bọc nổi để chuyển đổi chuỗi thành phao. Trong ví dụ này, tôi nhận được đối tượng Editable của EditText đó với getText() mà tôi gọi phương thức toString() để lấy một chuỗi từ nó.

+0

nó chỉ hoạt động 6 chữ số, chúng tôi sẽ nhập lớn hơn 6 chữ số có nghĩa là nó hiển thị 6857841E10 – user1235251

Các vấn đề liên quan