Foxtable(狐表)用户栏目专家坐堂 → 四舍五入问题


  共有13017人关注过本帖树形打印复制链接

主题:四舍五入问题

帅哥哟,离线,有人找我吗?
llh641008
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:14 积分:196 威望:0 精华:0 注册:2011/6/3 15:09:00
四舍五入问题  发帖心情 Post By:2011/7/7 10:06:00 [只看该作者]

数据表对有的数据不能四舍五入是怎么回事?

我用的表达式:Convert([面积]*[单价],'System.Int64')

表达式应该没问题,有的数据是可以四舍五入的 例如:

67.87*2480=168318  而67.87*2550=173068

为啥回事这样的?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/7 10:16:00 [只看该作者]

Convert([面积]*[单价] + 0.00001,'System.Int64')

 回到顶部
帅哥哟,离线,有人找我吗?
llh641008
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:14 积分:196 威望:0 精华:0 注册:2011/6/3 15:09:00
  发帖心情 Post By:2011/7/7 16:10:00 [只看该作者]

是什么原因造成的? 其他的数据列也需要修改表达式吗?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/7 16:20:00 [只看该作者]

四舍六入五成双是一种精确度的计数保留法.这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进。如1.25保留一位小数,因为2是偶数,所以是1.2。又如1.35,因为3是奇数,所以是1.4。
从统计学的角度,"四舍六入五成双"比"四舍五入"要科学,它使舍入后的结果有的变大,有的变小,更平均.而不是像四舍五入那样逢五就入,导致结果偏向大数.
例如:1.15+1.25+1.35+1.45=5.2,若按四舍五入取一位小数计算
1.2+1.3+1.4+1.5=5.4
按"四舍六入五成双"计算,1.2+1.2+1.4+1.4=5.2,舍入后的结果更能反映实际结果。


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/7/7 16:27:00 [只看该作者]


 回到顶部