Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Math.pow()函数时出现的问题_Java_Android_Math - Fatal编程技术网

Java 使用Math.pow()函数时出现的问题

Java 使用Math.pow()函数时出现的问题,java,android,math,Java,Android,Math,我使用上面的代码计算EMI,但它显示0值。我使用int和double,但它仍然为int提供0,为double提供0.0,因为您正在将转换结果键入整数,可能它有一个类似于0.55的分数部分,并且由于类型转换,它删除了分数部分,只给出0。尝试将付款变量更改为double,同时确保doubleloanamount不等于0。将intRate设置为float。。。。而如果intRate本身为0,则计算intRate*X的付款将得到0。您已经编写了intRate=x*11/100,如果小于1,则为0 同时使

我使用上面的代码计算EMI,但它显示0值。我使用int和double,但它仍然为int提供0,为double提供0.0,因为您正在将转换结果键入整数,可能它有一个类似于0.55的分数部分,并且由于类型转换,它删除了分数部分,只给出0。尝试将付款变量更改为double,同时确保
doubleloanamount
不等于0。

将intRate设置为float。。。。而如果intRate本身为0,则计算intRate*X的付款将得到0。您已经编写了intRate=x*11/100,如果小于1,则为0


同时使mnthRate浮动

doubleloanamount是否等于零?该问题可能与您正在执行的double/int cast有关,也可能与double Loanamount Values有关,我怀疑
数学。除非您每月有超过50%的利息,这是非常高的,否则四舍五入(monthlyrate)
为0。我建议你用调试器一步一步地检查你的代码,看看每一行代码都做了什么,以及你得到的结果。我删除了Math.round()函数,但它仍然显示0结果查看我编辑的部分我用double代替int,它仍然给我0.0的输出
            String loanamount = edtamount.getText().toString();
            double doubleloanamount = Double.parseDouble(loanamount);
            String strloanamount = Double.toString(doubleloanamount);

            Log.v("doubleloanamout", strloanamount);

            String years = edtyears.getText().toString();

            double doubleyears = Double.parseDouble(years) * 12;

            String strpaymentdoubleyears =   Double.toString(doubleyears);
            Log.v("doubleyears", strpaymentdoubleyears);

            double inrate = doubleloanamount * 11 / 100;
            double monthlyrate = inrate / 12;
            double roundmonthlyrate = Math.round(monthlyrate);
            String inratefordemo = Double.toString(roundmonthlyrate);


            double Payment = (doubleloanamount
                    * Math.pow(( roundmonthlyrate) + 1, (doubleyears)) *  roundmonthlyrate)
                    / (Math.pow( roundmonthlyrate + 1, (doubleyears)) - 1);



            double roundpayment = Math.round(Payment);
            String strpayment = Double.toString(roundpayment);
            Log.v("payment", strpayment);
            edtemimonth.setText(strpayment);