我一直没有能够在网站上找到这些规则,(当然,因为我用google搜索错误的东西),所以我在这里问。java数学结果类型
int除以int并存储在double中总是首先存储舍入的整数。我能够找到的唯一方法就是在分割之前将两个值都赋值为double。有一个更好的方法。
另外,返回类型的规则在哪里?
我一直没有能够在网站上找到这些规则,(当然,因为我用google搜索错误的东西),所以我在这里问。java数学结果类型
int除以int并存储在double中总是首先存储舍入的整数。我能够找到的唯一方法就是在分割之前将两个值都赋值为double。有一个更好的方法。
另外,返回类型的规则在哪里?
在编程语言中,有两种类型的操作:
如果2个操作数是整数类型,整数操作被执行。
如果任何人的2个操作数是浮点型,则执行浮点型操作。
这样的:
Int/Int --------> int
Double/Int -----> Double
Double/Double --> Double
其实,没有不一定有更好的办法。用int除int得到一个int。所以,假设你除以5/2 - 因为没有2到3之间的整数,所以你得到2.如果你想要一个浮点结果,你需要让它们中的一个成为浮点类型;而不是
int f=5, t=2;
double result;
result = f/t;
使用类型转换告诉它让它
result = f/(double) t ;
“我想浮点除法该死!”。
你只需要投一个参数,使结果的双
int a,b;
double d = (double) a/b;
一个更简单的方法是使用从双打开始。
double a, b;
double d = a/b;
double
可以表示没有舍入误差每个可能int
值。
肯定有一个更好的办法。只需将其中一个投射到double
,另一个将自动转换。
类型的表达是由参数确定被存储在它之前,从而其他的答案状态,一个int
由int
分割产生一个int
,这将仅然后被存储为double
。请注意,这不是特定于Java,它发生在我知道的每一种语言中,都是整数除法。