现在的位置: 首页 > 综合 > 正文

.net1.1中 整除结果不一至的问题.这应该是.NET1.1的一个bug.

2012年09月28日 ⁄ 综合 ⁄ 共 342字 ⁄ 字号 评论关闭
.net1.1中 整除结果不一至的问题,目前发现是在ado.net 中与普通计算的不一至.其它地方还不知道.

 this.Columns.Add("季度",typeof(int)).Expression="(月+1)/3" ;
如果月字段值为12 的话.结果为4
this.Columns.Add("季度",typeof(int)).Expression="(月-1)/3+1" ;
如果月字段值为12 的话.结果为5

int i = (12-1)/3+1;
i 结果为4;
i=(12+1)/3);
i结果也为4;

说明在普通计算中取整采用的向下取整的方法.
而在ado.net 中采用的向上取整的方法.测试发现采用的是四舍五入的方法.

不知道ms对此为何不统一.大家开发的时候可要注意一下.
不知道net2.0对此统一了没有?

抱歉!评论已关闭.