使用某种模式格式化数字

Format numbers with some pattern

我正在寻找一些典型的实现如下:

我需要我的价格 EditText 字段总是从后面取值,例如:

最初,EditText 默认值为 0,

现在,当我开始打字时,说当我从数字键盘按 1 时,

它应该导致打印 0.01

接下来,当我按下 2

它应该打印为 0.12

接下来,我按3

它应该打印为 1.23 ... 等等..

最大值不能超过9999.99..

有排版高手吗?

假设您需要小数点后最多 2 位的精度:

public void afterTextChanged(Editable s) {
    // handle empty editText value and zero
  double etValue = Double.valueOf(editText.getText().toString());
  String input = s.toString();
  int len = input.length();
    for(int i=0; i<len; i++){
        etValue *= 10;
        etValue += Double.valueOf("0.0"+input.charAt(i));
    }
  editText.setText(String.valueOf(etValue));
}