清一色 我有一个EditText字段,用户输入一个货币值(例如“120.45”)。我需要取这个值并在等式中使用它。问题是,小数点被忽略,所以不是将120.45乘以2而是将12,045乘以2.有没有办法让方程看到这个值为“120.45”。 这是我的XML:
<EditText android:id="@+id/edit_bill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/view_dollar_sign"
android:layout_alignBaseline="@id/view_dollar_sign"
android:padding="5dp"
android:singleLine="true"
android:hint="@string/edit_bill"
android:digits="0123456789."
android:maxLength="6"
android:gravity="right"
android:layout_alignBottom="@id/view_dollar_sign"
/>
这是我的代码:
EditText text = (EditText)findViewById(R.id.edit_bill);
String value = text.getText().toString();
if(!value.contains("."))
value = "."+value;
float bill = Float.parseFloat(value);
提前致谢!
答案 0 :(得分:1)
您可以先将字符串解析为浮点数或双精度数,例如
x = Double.parseDouble(editTextName.getText().toString());
然后根据需要执行操作!
之后您可以将其更改回输出TextView,如下所示:
answerTextView.setText("" + x);
答案 1 :(得分:0)
从您的代码中删除条件
EditText text = (EditText)findViewById(R.id.edit_bill);
String value = text.getText().toString();
// if(!value.contains(".")) <---REMOVE THESE LINES
// value = "."+value; <---REMOVE THESE LINES
float bill = Float.parseFloat(value);