繁体   English   中英

为什么除法结果在C#中会自动int?

[英]Why a result of a division is automatically int in C#?

我有这条线:

Console.WriteLine((double)(1 / 4)));

输出: 0

我调试了它,编译器将1 / 4视为0:

编译器将1/4转换为0

因此,据我了解,编译器将1 / 4视为int 但为什么?


注意:当我写这行:

Console.WriteLine((double)1 / 4));

它输出: 0.25

因为14都是int 编译器没有理由进行类型转换。 运行此示例并查看输出:

int x = 1, y = 4;

Console.WriteLine(x / y);

double xx = 1;
Console.WriteLine(xx / y);

double yy = 4;
Console.WriteLine(x / yy);

如果你把intint你会得到一个int作为结果。

如果要获得double作为结果,则需要至少一个参数为double 指定双.0一种简短方法是在数字后设置.0

Console.WriteLine(1 / 4.0);
Console.WriteLine(1.0 / 4);

这将被解释为double

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM