以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  四舍五入问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=11082)

--  作者:llh641008
--  发布时间:2011/7/7 10:06:00
--  四舍五入问题

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

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

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

67.87*2480=168318  而67.87*2550=173068

为啥回事这样的?


--  作者:狐狸爸爸
--  发布时间:2011/7/7 10:16:00
--  
Convert([面积]*[单价] + 0.00001,\'System.Int64\')
--  作者:llh641008
--  发布时间:2011/7/7 16:10:00
--  

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


--  作者:狐狸爸爸
--  发布时间: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,舍入后的结果更能反映实际结果。


--  作者:程兴刚
--  发布时间:2011/7/7 16:27:00
--  

 

  

       http://baike.baidu.com/view/924477.htm