Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
数据表对有的数据不能四舍五入是怎么回事?
我用的表达式:Convert([面积]*[单价],'System.Int64')
表达式应该没问题,有的数据是可以四舍五入的 例如:
67.87*2480=168318 而67.87*2550=173068
为啥回事这样的?
是什么原因造成的? 其他的数据列也需要修改表达式吗?
四舍六入五成双是一种精确度的计数保留法.这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进。如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,舍入后的结果更能反映实际结果。