If RecordCount Mod PageSize = 0 Then
PageCount = RecordCount / PageSize
Else
PageCount = Int(RecordCount / PageSize) + 1
End If之后就一直这么写了,也没去想想其他的写法(懒呀),其实还可以这么写的:
If RecordCount Mod PageSize = 0 Then
PageCount = RecordCount \ PageSize
Else
PageCount = RecordCount \ PageSize + 1
End If今天在蓝色理想上看到了第三种经典的写法:
PageCount = Int(RecordCount / PageSize*-1)*-1刚开始我还不太明白,只想起以前有测试过Int和Fix,区别现在也忘了,重新做了番测试,才明白他们都不四舍五入,都取整,但Int有趋小性,Fix有趋零性,那么上边就不难解释了,假如相除的结果为3.2,变成-3.2,由于趋小性Int返回-4,乘-1就成4了。
好的算法也是建立在对基础东西熟练掌握上,连基础的函数都没搞清何来好算法!
2009-06-02补充:C#也有和ASP的Int函数功能一样的方法:Math.Floor()
评论(0)
暂无评论。