需要擦除操作的最后一个数字。
newNumber是Double,它是类型为button的小部件。
这是我需要执行的示例:238.213-buttonD = 238.21(至少没有数字“ 3”)。因此,每次按下按钮时,都会像键盘一样消失一个字符。

Button buttonD = (Button) findViewById(R.id.buttonD);

    buttonD.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String nn = "";
            newNumber - nn; //newNumber is a Double

            //need to erase the last number of the operation
            //1234 - buttonD = 123
            //12133242.9231 - buttonD = 12133242.923

        }
    });

最佳答案

您可以将double转换为字符串并删除最后一个字符。然后将其转换为两倍;

Button buttonD = (Button) findViewById(R.id.buttonD);

buttonD.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
            deleteOneChar(42.1037)
        }
    }
});

private Double deleteOneChar(double number) {
    String aoeu = String.valueOf(number);
    aoeu = aoeu.substring(0, aoeu.length() - 1);
    if (aoeu.chatAt(aoeu.length()-1).equals(",") || aoeu.chatAt(aoeu.length()-1).equals(".")) {
        aoeu = aoeu.substring(0, aoeu.length() - 1);
    }
    return Double.parseDouble(aoeu);
}

10-08 00:51