Hello Friends 次のコードを使用して、通貨の形で入力された金額を表示しています。
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!s.toString().matches("^\\$(\\d{1,3}(\\,\\d{3})*|(\\d+))(\\.\\d{2})?$"))
{
String userInput= ""+s.toString().replaceAll("[^\\d]", "");
StringBuilder cashAmountBuilder = new StringBuilder(userInput);
while (cashAmountBuilder.length() > 3 && cashAmountBuilder.charAt(0) == '0') {
cashAmountBuilder.deleteCharAt(0);
}
while (cashAmountBuilder.length() < 3) {
cashAmountBuilder.insert(0, '0');
}
cashAmountBuilder.insert(cashAmountBuilder.length()-2, '.');
cashAmountBuilder.insert(0, '$');
editAmount.setText(cashAmountBuilder.toString());
editAmount.setTextKeepState(cashAmountBuilder.toString());
Selection.setSelection(editAmount.getText(), cashAmountBuilder.toString().length());
}
}
記号の前に「$」が付いている問題は、新しい INR 記号または空白に置き換えてください。コードのパッチを空白に置き換えよcashAmountBuilder.insert(0, '$');
うとしましたが、コンパイラ エラーが発生しました。同じように助けてください。ありがとう、