在我们的代码中,我们需要将 double 转换为 int。
double score = 8.6;
int i1 = Convert.ToInt32(score);
int i2 = (int)score;
谁能解释一下为什么i1 != i2
?
我得到的结果是:i1 = 9
and i2 = 8
.
Because Convert.ToInt32 http://msdn.microsoft.com/en-us/library/ffdk7eyz.aspx rounds:
返回值: 四舍五入到最接近的 32 位有符号整数。如果值
是两个整数之间的中间数,则返回偶数;
即4.5转为4,5.5转为6。
...演员阵容时截断 http://msdn.microsoft.com/en-us/library/yht2cx7b.aspx:
当您从 double 或 float 值转换为整型时,
值被截断。
Update:有关其他差异,请参阅下面 Jeppe Stig Nielsen 的评论(但是,如果score
是一个实数,就像这里的情况一样)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)