用(双)或" * 1.0"

时间:2017-07-20 16:46:34

标签: java double

在此代码中:

int a = 10;
int b = 3;

double x = (double) a/b;
double x = (1.0*a)/b;

结果似乎是相同的,或者是非常相同的,我想是的。 我以前用(双)投,但由于某种原因,我不记得,我通过使用" 1.0 *"

哪两个更好用,或者其他什么?

2 个答案:

答案 0 :(得分:0)

假设变量a和b是int类型。如果你这样做

double x = (1.0*a)/b;
那么你不是在进行整数分裂。当您乘以或除以两个数字时,如果其中一个数字是浮点数,那么您将得到一个浮点数。 所以,1.0 * a会给你一个浮点数,那就是10.0。然后将10.0除以3,结果将得到一个浮点数。

与其他案件相同。当你做(双)a,那么' a'将被转换为double,然后用b除以它,结果你将获得一个浮点数。这两种方法都会给你相同的答案。

答案 1 :(得分:-1)

你应该使用强制转换(double),它使代码更具可读性。

但请注意,假设您的值a和b为整数,则可能无法得到正确的结果,因为它可能会导致10/3的结果为3.0。我不确定你是否运行程序检查这个但是玩它。