我在我的计算器应用程序中添加了一个退格按钮,它也正常工作。问题是,默认情况下,我的计算器从小数部分取数字,即最初它是0.00,当我输入1时它变为0.01,当我输入2时它变为0.12,依此类推。现在,当我按退格键时,它会删除2并显示0.01但是如果我按3而不是显示0.13则显示为1.23。怎么解决这个?
退格按钮的代码: -
private String addCurrency(String digits) {
String string = ""; // Your currency
enteredNumber = enteredNumber + digits;
// Amount length greater than 2 means we need to add a decimal point
if (enteredNumber.length() > 2) {
String rupee = enteredNumber.substring(0,
enteredNumber.length() - 2); // Pound part
String paise = enteredNumber.substring(enteredNumber.length() - 2); // Pence
// part
if (enteredNumber.contains(".")) {
}
string += rupee + "." + paise;
} else if (enteredNumber.length() == 1) {
string += "0.0" + enteredNumber;
Log.d("TextWatcher", "length 1 " + string);
} else if (enteredNumber.length() == 2) {
string += "0." + enteredNumber;
Log.d("TextWatcher", "length 2 " + string);
}
return string;
}
其中: - enteredNumber只是一个String类型变量。
答案 0 :(得分:0)
如果你希望一直显示两位小数点,那么为什么这么麻烦?使用此 -
public void getMyNumber(String yourInputNumber){
Double result = Integer.ParseInt(yourInputNumber)/100;
private static DecimalFormat REAL_FORMATTER = new DecimalFormat("0.##");
textview1.setText(REAL_FORMATTER.format(result));
}