为什么var求值为int而不是double?

帕万·米什拉(Pawan Mishra)

在下面的代码中,为什么编译器将结果变量评估为3(整数)而不是3.5(浮点数或双精度数)?

void Main()
{
    var result = 7/2;
    Console.WriteLine(result);
}

谢谢

紫罗兰色

因为,如果将int彼此相除,结果将是int在这里指定

当您将两个整数相除时,结果始终是整数。例如,的结果7 / 32

然后var仅使用表达式类型创建一个,int因为这就是您所要的(尽管是隐式的)。如果需要a double,则需要将表达式的类型强制为double:

var result = 7.0 / 2;

或者,如果您使用的int 变量不仅仅局限于.0

int seven = 7;
int two = 2;
var result = (double)seven / two;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么这个条件运算符求值为int?

如果'x在clojure中求值为(var x),为什么它们不相等?

为什么此Java 8流操作求值为Object而不是List <Object>或只是List?

为什么自动推断此变量为double而不是float?

为什么我的数组是 var int 类型而不是 var set of int?

double变量显示为double *,int变量显示为int *-为什么?

为什么(double + int)的结果为0(C语言)

为什么函数brk()的参数为void *而不是int类型?

在JavaScript中,为什么~~ Infinity求值为0?

CodeContracts:布尔条件求值为常数,为什么?

为什么在Python 3中000求值为0?

为什么Math.min([])求值为0?

当double为常数时,为什么g ++ -Wconversion不警告将double转换为long int?

为什么编译器会推断var为动态而不是具体类型?

当我将这些int var链接为字符串时,为什么要添加int var?

为什么为Int作为Double键入注释但不能作为Int双击?

为什么跟随输出`$ var`而不是`3`?

为什么要使用var而不是类型?

如果对表达式的求值需要对引用的求值,为什么它不是“核心常数表达式”?

为什么接口内的 Int 不是 Int?

为什么在调用构造函数时将int隐式转换为float而不是double?

为什么显式类型转换需要从double到float而不是从int到byte?

PHP:为什么乘以“1E3”返回 double 而不是 int?

为什么将int提升为double而不是float以进行隐式转换

为什么std :: array :: size constexpr具有简单类型(int,double,...)而不是std :: vector(GCC)?

他为什么使用“ typedef vector <double> :: size_type”而不是“ int”

为什么“ ceil()”函数的返回类型为“ double”而不是某些整数类型?

为什么不能在Kotlin中为int var设置lateinit?

为什么用[[-n $ var]]而不是[[$ var]]?