在动态编辑文本中输入十进制值

时间:2014-06-13 09:04:01

标签: android android-edittext

我在Android应用程序中工作。在我的应用程序中有一个编辑文本。在那里面      如果用户输入12,则编辑文本,它必须动态更改为12.00。这意味着它      接受小数值。如果用户输入为12.3,那么它应该变为12.30。如果是12.35      那么它应该只有12.35。它不允许用户在点后输入两个以上。       请帮助这个场景?

1 个答案:

答案 0 :(得分:1)

使用TextWatcher动态处理输入,然后在TextWatcher内部使用DecimalFormat之类的内容来更改文本。

yourEditText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {}

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

    @Override
    public void afterTextChanged(Editable s) {
        // do something here
        DecimalFormat form = new DecimalFormat("0.00");
        String FormattedText=form.format(s.toString());
    }
});