我在c#中尝试了这个表达式12/13,我的值为1 当我将值转换为double时,实际值即将到来。
有人可以解释一下为什么会这样吗?
由于 阿吉特
答案 0 :(得分:3)
这是因为Integer Division。因为你的两个值都是整数,所以结果也是一个整数。
每当你进行计算时你都可以用* 1.0来强制加倍,它也不会改变解决方案。
答案 1 :(得分:1)
12/13
的值小于1
,这意味着由于整数trunctaion,它将被截断为0
。
答案 2 :(得分:0)
任何带整数结果的操作都以整数形式回答。 任何具有双重结果的操作都会双倍回答。 这是默认情况下需要更改的场景,以便您可以根据需要获得结果。