Foxtable(狐表)用户栏目专家坐堂 → FOX中的四舍五入ROUND()函数也太不好用了吧?


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

主题:FOX中的四舍五入ROUND()函数也太不好用了吧?

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


加好友 发短信
等级:超级版主 帖子:312 积分:3190 威望:0 精华:6 注册:2008/8/31 19:42:00
  发帖心情 Post By:2008/9/5 13:35: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,舍入后的结果更能反映实际结果

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


加好友 发短信
等级:超级版主 帖子:312 积分:3190 威望:0 精华:6 注册:2008/8/31 19:42:00
  发帖心情 Post By:2008/9/5 14:14:00 [显示全部帖子]

呵呵,记得易表中有:Round2() 与 Round()图片点击可在新窗口打开查看

其实,四舍六入五成双也是一种通用的做法,真正国家标准数值修约规则规定(GB/T8170)

 

拟舍弃数字的最左一位数字为5,而右面无数字或皆为0时,若所保留的末位数字为奇数(1,3,5,7,9)则进一,为偶数(2,4,6,8,0)则舍弃。


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


加好友 发短信
等级:超级版主 帖子:312 积分:3190 威望:0 精华:6 注册:2008/8/31 19:42:00
  发帖心情 Post By:2008/9/5 15:19:00 [显示全部帖子]

以下是引用狐狸爸爸在2008-9-5 14:48:00的发言:
呵呵,其实大多数软件的四舍五入都是这样的,这样更符合统计原理。
传统的四舍五入可以自己写啊,很容易的,例如对X保留两位小数:

int(x * 100 +0.5) / 100

很简单,所以就没有专门做一个了。
[此贴子已经被作者于2008-9-5 14:48:19编辑过]

我们好多还是狐婴哦,所以,烦麻还是也写入帮助文件吧。


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


加好友 发短信
等级:超级版主 帖子:312 积分:3190 威望:0 精华:6 注册:2008/8/31 19:42:00
  发帖心情 Post By:2008/9/5 15:42:00 [显示全部帖子]

还没看到这一节,刚才看了一下,果然有写的。


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


加好友 发短信
等级:超级版主 帖子:312 积分:3190 威望:0 精华:6 注册:2008/8/31 19:42:00
  发帖心情 Post By:2008/9/5 21:36:00 [显示全部帖子]

以下是引用slofwls在2008-9-5 21:34:00的发言:
"四舍六入五成双",一般用户用处不大,我们发工资要是这样,职工就有意见了,呵呵

那就用int(x * 100 +0.5) / 100


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


加好友 发短信
等级:超级版主 帖子:312 积分:3190 威望:0 精华:6 注册:2008/8/31 19:42:00
  发帖心情 Post By:2008/9/8 12:28:00 [显示全部帖子]

大家不要争了,如果可以定义,我建议狐狸以后是否可以考虑来这样:

将使用频繁高的代码定义入狐狸内,供我等不太会写代码的人当函数用用,会写代码或者对系统运行时的效率比较有高要求的,自己写代码.


 回到顶部