<分区>
我想在 EditText 中的每 1,000 之间添加逗号,这样用户就不必“猜测”它是 10,000 还是 100,000。在 EditText 中,当您输入一个数字时,它显示为 10000
,但我想将其显示为 10,000
。怎么办?
<分区>
我想在 EditText 中的每 1,000 之间添加逗号,这样用户就不必“猜测”它是 10,000 还是 100,000。在 EditText 中,当您输入一个数字时,它显示为 10000
,但我想将其显示为 10,000
。怎么办?
最佳答案
您必须将 TextChangedListner 添加到您的 edittext .i.e
et.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
et.removeTextChangedListener(this);
try {
String givenstring = s.toString();
Long longval;
if (givenstring.contains(",")) {
givenstring = givenstring.replaceAll(",", "");
}
longval = Long.parseLong(givenstring);
DecimalFormat formatter = new DecimalFormat("#,###,###");
String formattedString = formatter.format(longval);
et.setText(formattedString);
et.setSelection(et.getText().length());
// to place the cursor at the end of text
} catch (NumberFormatException nfe) {
nfe.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
et.addTextChangedListener(this);
}
});
注意:确保您的编辑文本输入类型是数字。即 android:inputType="number"
关于java - 在 Android Studio 的 EditText 中添加逗号作为数字的千位分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583176/