java - 获取具有小数值的 EditText 来执行数学运算

标签 java android

全部- 我有一个 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);

提前致谢!

最佳答案

您可以首先将字符串解析为 float 或 double ,例如

    x = Double.parseDouble(editTextName.getText().toString());

然后根据需要执行操作!

之后您可以将其更改回输出 TextView,如下所示:

 answerTextView.setText("" + x);

关于java - 获取具有小数值的 EditText 来执行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854391/

相关文章:

java - 使用 Java 构建插件系统的最佳方法

java - Android on NFC 读取关闭 Activity (不是主要 Activity )

android - Firebase 中未注册的注册 token

java - 在 Spring Batch 中使用 StaxEventItemReader 时有没有办法指定字符编码?

java - 没有同步顺序的程序

java - 为什么 ArrayList<E> 构造函数允许原始 ArrayList 参数

java - 数组中的偶数/奇数值

安卓错误 : failed to find target with hash string android-26 and similar

android - 在 Android 中设置背景颜色并使用 Drawable 作为背景

Android Studio 构建 java.exe 第二次暂停