需要擦除操作的最后一个数字。
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);
}