繁体   English   中英

Android Java数学问题

[英]Android java math prob

我有以下代码。 每当尝试在我的应用程序上使用带小数的数字时,系统崩溃。 我知道最终结果有问题,但是出什么问题了???

    b1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            String f = et1.getText().toString();
            int i = Integer.parseInt(f);
            String s = et2.getText().toString();
            int j = Integer.parseInt(s);
            String w = et4.getText().toString();
            int q = Integer.parseInt(s);
            int price_gold = 10;

            int fpa = 10;
            int fpol = 10;
            int isot = 10;
            int sint_ker = 10;
            Integer result1 = (i * price_gold) + (j * 1000) + (q * isot);
            result = result1 / 340;

            String res = result.toString();
            et3.setText(res);
        }
    }

您应该使用Float.parseFloat,但要注意不要显示空白文本,如下所示

String f = et1.getText().toString();
if (!TextUtils.isEmpty(f)) {
    Float i = Float.parseFloat(f);
}

如果您希望将整数输出作为答案,请将result1以外的所有值都设为双精度,请检查以下内容:

b1.setOnClickListener(new OnClickListener() {

    @Override

    public void onClick(View v) {

        String f = et1.getText().toString();

        double i = Double.parseDouble(f);

        String s = et2.getText().toString();

        double j = Double.parseDouble(s);

        String w = et4.getText().toString();

        double q = Double.parseDouble(s);

        double price_gold = 10;


        double fpa = 10;

        double fpol = 10;

        double isot = 10;

        double sint_ker = 10;

        Integer result1 = ((int)i * price_gold) + ((int)j * 1000) + ((int)q * isot);

        result = result1 / 340;

        String res = String.valueOf(result);

        et3.setText(res);
    }

然后此代码应为您提供您要寻找的整数值,简单:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM