【问题标题】:Unable to make backspace button function无法使退格按钮功能
【发布时间】: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


【解决方案1】:

如果您希望始终以两位小数显示您的数字,那么为什么要这么麻烦呢?使用这个 -

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));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多