VB.Net使用CInt转型非整数值时需要注意的问题
2008-11-21 15:18 zhangz 阅读(1931) 评论(3) 编辑 收藏 举报今天帮客户维护一个VB.Net项目时遇到的问题, 以前没注意过。在此记录下来,提醒不知道的朋友注意。
摘自MSDN :
将一个非整数值转换为整型时,整数转换函数(CByte、CInt、CLng、CSByte、CShort、CUInt、CULng 和 CUShort)将移除小数部分,并将该值舍入为最接近的整数。
如果小数部分正好是 0.5,整数转换函数将其舍入为最接近的偶数整数。例如,0.5 舍入为 0,1.5 和 2.5 都舍入为 2。这有时称为“四舍六入五成双”,其目的是弥补在将许多这样的数字相加时可能会累积的偏量。
Console.WriteLine(CInt(7.5)) '8
Console.WriteLine(CInt(8.5)) '8
Console.WriteLine(CInt(8.6)) '9
Console.WriteLine(CInt(8.5)) '8
Console.WriteLine(CInt(8.6)) '9