有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从双精度数组中删除字符

需要擦除操作的最后一个编号。 newNumber是一个Double,它是一个按钮类型的小部件。 下面是我需要做的一个例子: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

        }
    });

共 (1) 个答案

  1. # 1 楼答案

    可以将双精度转换为字符串并删除最后一个字符。然后将其转换回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);
    }