繁体   English   中英

无法使用 EditText Android 添加像 0.25 这样的十进制数

[英]Unable to add decimal like 0.25 with EditText Android

我有一个带有editText的应用程序,我想插入从(0.25-0.50-0.75 等)开始的十进制数字,因为我想用其他 editText 数字计算它,直到现在我只能插入像 1-2-3 这样的数字......有什么想法吗?

我的代码

price_per_piece.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }

            @SuppressLint("DefaultLocale")
            @Override
            public void afterTextChanged(Editable s) {
                if (!s.toString().equals("")) {
                    //case_qty = v.findViewById(R.id.et_add_item_case_quanitiy); this line for understanding
                    //Note : case_qty is EditText which i want to insert decimal numbers
                    String qty_txt = case_qty.getText().toString();
                    if (qty_txt.equals("")){
                        qty_txt = "1";
                       // qty_txt = "0.25";
                    }
                    float qty = Float.parseFloat(qty_txt);
                    float p = Float.valueOf(s.toString());
                    price_per_case.setText(String.valueOf(qty * p));
                }
            }
        });

提前致谢

如果您还没有这样做,请将android:inputType="numberDecimal"添加到您的 EditText xml 声明中。 然后尝试使用Double.parseDouble()而不是 float

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM