使用某种模式格式化数字
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));
}
我正在寻找一些典型的实现如下:
我需要我的价格 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));
}