Math.Round到底是"四舍五入"还是"五舍六入" sql round 四舍五入

环境VS2005,VS2003没有测试。

Math.Round (Decimal, Int32) 将小数值舍入到指定精度。

由 .NET Compact Framework 支持。

Math.Round (Double, Int32)

将双精度浮点值舍入到指定精度。

由 .NET Compact Framework 支持。

msdn并没有详细的说明清楚,给了一个例子;

Math.Round(3.44, 1); //Returns 3.4.Math.Round(3.45, 1); //Returns 3.4.Math.Round(3.46, 1); //Returns 3.5.

依照他的例子得到的是"五舍六入",我改变了一下数字得到的结果将完全改变。

Math.Round(3.445, 1); //Returns 3.4.

Math.Round(3.455, 1); //Returns 3.5.

Math.Round(3.465, 1); //Returns 3.5.

Math.Round(3.450, 1); //Returns 3.4.(补0是无效的)

Math.Round(3.4452, 2); //Returns 3.45.

Math.Round(3.4552, 2); //Returns 3.46.

Math.Round(3.4652, 2); //Returns 3.47.

非常奇怪当你需要获得小数点后面一位时,第一位参数必需要比你需要的位数多出两位数时才是正常的“四舍五入”,否则将是“五舍六入”,看来只能自已写四舍五入的算法,不能依赖Math.Round,否则我无法知道他何时使用四舍还是五舍,除非你定死你的第一位参数的位数。

posted @ 2006-08-03 15:54 BookWorm 阅读(7539) 评论(21) 编辑 收藏 网摘 所属分类: DotNet2.0



发表评论

回复引用

#1楼2006-08-03 16:27 | .progame [未注册用户]

世界上的许多国家已广泛采用“四舍六入法”。我国国家科委于1955年就作了推荐。“四舍 六入法”可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍 去,五前为奇要进一。”

回复引用查看

#2楼2006-08-03 17:09 | Rainy

好像短一点的口诀叫“四舍、六入、五凑偶”

回复引用查看

#3楼2006-08-03 17:13 | U2U

原来如此,不过觉得四舍六入法怪怪的。。。。

回复引用查看

#4楼2006-08-03 17:51 | 自由、创新、研究、探索……

在工程技术、金融和科学领域,我们往往认为将一个小数圆整到距离它最近的偶数(而并非总是将它向上圆整)更加精确,即我们在此所说的“四舍六入”法。

Math.Round()方法使用的银行家算法的依据,是IEEE Standard 754这个国际标准

回复引用

#5楼2006-08-03 18:11 | jijl2001 [未注册用户]

据说欧洲银行全采用这个模式

回复引用

#6楼2006-08-03 20:45 | 张三 [未注册用户]

这个都不知道,四舍六入五成双,Round都是这样处理的。

回复引用查看

#7楼2006-08-03 20:49 | 可爱的书记

我也遇到过这个问题,起初也很奇怪,后来看了帮助,果然是四舍六入五靠偶,虽然楼上的所说的四舍六入是国际标准,但是中国的很多业务系统还是采取的是四舍五入的方法,没办法,我只好自己写了个方法来四舍五入了。不过网上有一个不错的方法,虽然有取巧嫌疑,但是一般没什么问题,就是在后面加上0.0000000001,很小的一个数,这时再来取两位,三位或四位就基本没问题了。可以试试

回复引用查看

#8楼2006-08-04 09:20 | 风中的葱

四舍六入五成双,是为了使大量数据求平均值更加精确

回复引用

#9楼2006-08-04 09:52 | sion [未注册用户]

真是认真处自有学问.

回复引用查看

#10楼2006-08-04 10:03 | 心只有你

今天才知道“四舍六入”法,真是感谢各位兄台

回复引用查看

#11楼2006-08-04 11:13 | 星期零

Math.Round到底是
俺也是今天才发现“四舍、六入、五凑偶”,感谢有心的楼主

回复引用

#12楼2006-08-04 19:29 | man [未注册用户]

长见识了,,晕哦,,看来,一直被老师忽悠着``

回复引用查看

#13楼2006-08-06 01:37 | attraction

4舍6入5成双

回复引用查看

#14楼2006-08-06 11:48 | main

学习了,我这么大了都没有学过这个口诀:(

回复引用

#15楼2006-09-01 09:34 | Sam[匿名] [未注册用户]

长见识了

回复引用

#16楼2006-11-21 19:44 | uu [未注册用户]

“四舍、六入、五凑偶”比较经典哎~~

回复引用

#17楼2006-11-23 18:28 | YY[匿名] [未注册用户]

Math.round(-11.5) 等於多少

回复引用

#18楼2008-04-17 11:20 | hewei-@163.com [未注册用户]

Math.round(11.5)返回(long)12,

Math.round(-11.5)返回(long)-11;

回复引用

#19楼2008-06-06 15:11 | wyd45123 [未注册用户]

这个函数的正确用法:

' 3.4 = Math.Round( 3.45, 1)

'-3.4 = Math.Round(-3.45, 1)

'

' 3.4 = Math.Round( 3.45, 1, MidpointRounding.ToEven)

' 3.5 = Math.Round( 3.45, 1, MidpointRounding.AwayFromZero)

'

'-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)

'-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)

回复引用

#20楼2008-08-08 08:59 | akenny0423 [未注册用户]

我是搞工程施工的,我们的数据处理一直就是“四舍六入,5凑偶”,但如果5前为偶数,但5后还有非零数,则还要进位。

  

爱华网本文地址 » http://www.aihuau.com/a/25101013/168963.html

更多阅读

我的母语到底是英文还是中文呢? 我的母语课

好多人常问我我的母语到底是什么。可见我们新加坡是有多么渺小。其实有很多人对新加坡的了解不深啊~是的,我是新加坡人,但我也是华人。虽然没有仔细查祖先是从哪来,但因为家里人也会福建话,所以我想祖先应该是某一个会讲福建话的地方过

申请专利到底是有用还是没用呢? 武器奥义到底有没用

昨天下午余姚马渚的毛总给我打电话说新开发了两款手电筒,叫我去拿过来申请专利,见面后他跟我聊起关于专利侵权的事,原来是本地同行中有一家在生产毛总已申请专利的产品,毛总很犹豫,到底是告还是不告呢,告吧,面子上过不去,不告吧,心里憋得慌,后

螳螂是益虫吗 蝗虫是益虫还是害虫

螳螂是益虫吗?我看螳螂,觉得它很像蚂蚱,他到底是害虫还是益虫呢?我带着这个疑问去了舅舅家,因为舅舅家的花园很大,有许多螳螂和蚂蚱等许多昆虫。有一天,我和哥哥正在舅舅家的花园里玩,突然,我看见一只绿乎乎的东西,我还以为是蚂蚱,就对哥哥说:

声明:《Math.Round到底是"四舍五入"还是"五舍六入" sql round 四舍五入》为网友放肆小男人分享!如侵犯到您的合法权益请联系我们删除