为什么java返回0?

时间:2013-11-29 09:23:52

标签: java netbeans

为什么Java0除以后会返回10/60? 我试过的代码是

double pay_per_minute = (10/60);

10是每小时的工资率,60是分钟。

5 个答案:

答案 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)

此处1060采用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);