Math.Round到底是"四舍五入"还是"五舍六入" sql round 四舍五入
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 | 星期零
俺也是今天才发现“四舍、六入、五凑偶”,感谢有心的楼主
回复引用
#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后还有非零数,则还要进位。
更多阅读
我的母语到底是英文还是中文呢? 我的母语课
好多人常问我我的母语到底是什么。可见我们新加坡是有多么渺小。其实有很多人对新加坡的了解不深啊~是的,我是新加坡人,但我也是华人。虽然没有仔细查祖先是从哪来,但因为家里人也会福建话,所以我想祖先应该是某一个会讲福建话的地方过
电信现在建的是CDMA1XEVDO还是CDMA2000EVDO两者到底什么区别 cdma2000是电信吗
不是专业人士,现在网上很多术语看不明白到底是CDMA1X+还是CDMA20001X +EVDO(和CDMA2000EVDO什么区别)?还有我看频率有800MHz与1900Mhz是不是频率高的好?是不是频率高的就是3G,低的是2.5G?----------------------------------------------
申请专利到底是有用还是没用呢? 武器奥义到底有没用
昨天下午余姚马渚的毛总给我打电话说新开发了两款手电筒,叫我去拿过来申请专利,见面后他跟我聊起关于专利侵权的事,原来是本地同行中有一家在生产毛总已申请专利的产品,毛总很犹豫,到底是告还是不告呢,告吧,面子上过不去,不告吧,心里憋得慌,后
香瓜到底是“上火”还是“败火”?百思不得其解啊! 山竹上火还是败火
夏天一到,到处都是卖西瓜的。三、四月份时,妮她爸买的是海南西瓜,个大瓤红,贼甜贼甜的。后来听说,为了让西瓜甜卖个好价钱,小贩往西瓜里打葡萄糖,不知这个传言是真是假。我对妮她爸说,现在奸商多,心太黑,食品安全不能大意,宁可信其有,不可信其无
螳螂是益虫吗 蝗虫是益虫还是害虫
螳螂是益虫吗?我看螳螂,觉得它很像蚂蚱,他到底是害虫还是益虫呢?我带着这个疑问去了舅舅家,因为舅舅家的花园很大,有许多螳螂和蚂蚱等许多昆虫。有一天,我和哥哥正在舅舅家的花园里玩,突然,我看见一只绿乎乎的东西,我还以为是蚂蚱,就对哥哥说: