为什么Java
在0
除以后会返回10/60
?
我试过的代码是
double pay_per_minute = (10/60);
10是每小时的工资率,60是分钟。
答案 0 :(得分:7)
因为你正在构建一个整数。当您将其存储在double
变量中时,已经太晚了:它是0
。
做
double pay_per_minute = (10.0/60);
如果您有变量,请投射它们:
double pay_per_minute = ((double)pay_per_hour) / 60;
答案 1 :(得分:0)
java中的任何原始数字都被视为一个整数,因此当你执行10/60时,它是整数除法,由于精度损失,它给出了0
答案 2 :(得分:0)
此处10
和60
采用int值,然后您获得int
除以0
的结果,然后您得到0
的答案。使用以下方式。
double a=10;
double b=60;
double div=a/b;
答案 3 :(得分:0)
你需要首先输入它,因为默认数字被认为是整数
double pay_per_minute = ((double)10/60);
System.out.println(pay_per_minute);
输出 0.16666666666666666
答案 4 :(得分:0)
double pay_per_minute = (10/60);
这里,你将整数10除以整数60.所以,这就像做
int temp = 10/60;
double pay_per_minute = double(temp)
你的temp将为0(因为当被认为是整数除法时10/60为0)
你需要这样做, double pay_per_minute =(10.0 / 60);