1
您好朋友我正在使用以下代碼顯示以貨幣形式輸入的金額。INR貨幣格式問題
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, '$');
補丁代碼,它給了我編譯錯誤。請幫助我一樣。 謝謝,
你得到了什麼編譯時錯誤? – 2012-08-10 06:58:51
@AndroSelva字符常量無效 – onkar 2012-08-10 07:00:08
但是我嘗試這一行時沒有遇到任何編譯時錯誤?你確定? – 2012-08-10 07:02:59