【发布时间】:2014-12-01 07:01:36
【问题描述】:
我在我的计算器应用程序中添加了一个退格按钮,它也可以正常工作。问题是,默认情况下,我的计算器从小数部分取数字,即最初是 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;
}
地点:- enterNumber 只是一个字符串类型的变量。
【问题讨论】:
-
感谢 Remees 建议格式。从我的角度来看,这是一个错误。对解决方案有何建议?
-
你是否在你的编辑文本上使用 onTextChanged 监听器
-
没有 Darpan,我没有使用 onTextChangedListener。我在视图中输入数字的方式是这样的:- one.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { enterAmount.setText(addCurrency("1")); } } );
标签: android calculator backspace