为什么c / 12中的12/13值为1

时间:2018-05-24 11:11:40

标签: c#

我在c#中尝试了这个表达式12/13,我的值为1 当我将值转换为double时,实际值即将到来。

有人可以解释一下为什么会这样吗?

由于 阿吉特

3 个答案:

答案 0 :(得分:3)

这是因为Integer Division。因为你的两个值都是整数,所以结果也是一个整数。

每当你进行计算时你都可以用* 1.0来强制加倍,​​它也不会改变解决方案。

答案 1 :(得分:1)

12/13的值小于1,这意味着由于整数trunctaion,它将被截断为0

答案 2 :(得分:0)

任何带整数结果的操作都以整数形式回答。 任何具有双重结果的操作都会双倍回答。 这是默认情况下需要更改的场景,以便您可以根据需要获得结果。