Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 c# 中尝试了这个表达式 12/13,我得到的值为 1 当我将值转换为 double 时,实际值即将到来。
有人可以解释一下为什么会这样吗?
谢谢阿吉特
这是因为整数除法。因为您的两个值都是整数,所以结果也将是整数。
每当您进行计算时,您都可以执行 *1.0 来强制加倍,而且它也不会改变解决方案。
的值12/13小于1,这意味着由于整数截断,它将被截断为0。
12/13
1
0
任何具有整数的操作都会以整数形式回答。任何具有双重结果的操作都会以双重方式回答。这是默认更改您需要转换的场景,以便您可以根据需要获得结果。