Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

四舍五入——当真是四个舍五个入,怎可能准确

都市侠影  发表于:2011-08-24 00:20:31  
复制

近来见有一些坛友提出ROUND函数四舍五入不准确的问题,这个函数在要保留的位的下一位为5时有时是收上来了,有时却是被舍掉了,故而不准确。其实我倒觉得,这样进行四舍五入才是准确的,为什么呢,想一想,如果要保留的位的下一位本来就是0,则不存在取舍的问题,然而,当下一位是1、2、3、4时是舍掉了,是5、6、7、8、9时是收上来了,不愧是四舍五入(四个舍五个入),你觉得是否收多了一点呢。这样做的后果是批量数据的平均数偏高,显然我们希望对大批数据进行近似后平均数尽量保持不变,即使要变也要等可能的高于原来的平均数和低于原来的平均数。但是现在是高于原来平均数的可能性要比低于原来平均数的机会大(特别是当数据特别多的时候,这几乎是一定高于原来平均数的)。总之,传统的四舍五入方法会造成批量数据的平均数偏高。

 

 

Top
杨生 发表于:2011-08-24 01:03:42

没办法,在处理金额型数据时,因为最小单位是分,所以必须四舍五入保留两位小数,尽管不准确,但很合理,尽管批量平均高于原来的平均数,但拆分还原之后,每笔数是可以准确还原到原来的四舍五入的那个数值。所以按实际需要做吧,不管准不准确,只要合理就可以了。



丘山 发表于:2011-08-24 10:13:49
int([金额]*100+0.5)/100

西出阳关无故人 发表于:2011-08-24 12:21:29

你的想法好像跟选举有关吧?

比如“甲村”里推举代表,是法定多数通过,那么他就可以代表村里的。

“甲村代表”到全乡开会,法定多数选举出“乙乡代表”,但是甲村代表并没有选“乙乡代表",而是投了丙的票。

你说“乙乡代表"能够代表“甲村”的群众吗?



西出阳关无故人 发表于:2011-08-24 12:26:38

换一种说法:甲乙丙丁...各村都以60%的赞成票通过本村的代表选举。这些村代表在乡里开会,又以60%的赞成票通过了乡里的代表选举(张三),你说张三能够代表全乡60%的(有选举权的)村民吗?

那么:到底全乡有多少村民认可张三呢?60%*60%=36%



西出阳关无故人 发表于:2011-08-24 12:30:34
如果乡代表参加全县的代表会议,有以60%的法定多数选举出县代表(李四),李四有参加全省的代表会议,又以60%的法定多数选举出省代表(王五),那么王五在全省的村民中到底有多大的认可率?

西出阳关无故人 发表于:2011-08-24 12:41:42

不论王五是否在全省的村民中有大于50%的支持率,但是他就代表了全省的村民了。



西出阳关无故人 发表于:2011-08-24 12:51:28

这就与你说的四舍五入说产生的问题一样。但是,如果全省村民直接选举省代表(不论是否超过50%,只论排名),那样是否更接近民意一点呢?我的回答是肯定的。

那么数据库中的数据不能进行四舍五入,只能在报表或出票的时候汇总统计后再进行四舍五入。比起表中先进行四舍五入后统计汇总的结果更接近实际情况一点。



都市侠影 发表于:2011-08-24 17:04:12
想法挺好的,传统的四舍五入方法之所以广泛应用,是因为简便易行。

总记录:8篇  页次:1/1 9 1 :