惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - jackyrong的世界

本BLOG迁移到javaeye .net中javascript去调用webservice - jackyrong的世界 - 博客园 asp.net 4中的新特性之一:控制URL长度 vs.net 2010中使用code snippets - jackyrong的世界 asp.net 2010中jquery调用webservice 一个模仿HTML5功能的jquery控件 - jackyrong的世界 - 博客园 php中存储IP的一个不错的方法 介绍又一个不错的TOMCAT监控好工具probe jquery中输入验证中一个不错的效果 - jackyrong的世界 - 博客园 软件工程心理学系列11之如何应对客户的严厉批评 团队中不能只有梅西呀 mysql 性能学习1 6个PHP漏洞扫描工具 监控JAVA应用的好工具javamelody 云估算? apache 的mod-status 如何带平均年龄小的团队 本人售买一本o'relliy 出版社的《WCF服务编程》书,有意的广州朋友当面交易 小结php的字符串用法 - jackyrong的世界 - 博客园
(转)Math.Round() -- c# 与 java的区别
jackyrong的世界 · 2010-06-13 · via 博客园 - jackyrong的世界

http://hi.baidu.com/yk±±¼«ÐÇ/blog/item/7b949acc2690595a0fb345f0.html

明明知道,java与c#在很多方面都有很多不同,但是如果让详细描述,却不一定能说出来多少。

前段时间碰见一个问题,才恍然大悟般的,明白了一条不同。

有同事的同学笔试,有道题目是 Math.Round(11.5) 与Math.Round(-11.5)的值。

一个同事是java的,直接答道,不就是12和-11么。

另外一个同事是搞.Net的,写了个程序,结果是12和-12。

咦?结果怎么不一样?

分别查了java帮助文档和MSDN帮助文档,才发现,原来,是标准不同引起的。

java的Round,是+0.5取整,所以,结果当然是12和-11了。

而.net的不同,而且描述也负责的多。在它的备注里,有这么一条说明:

此方法的行为遵循 IEEE 标准 754 的第 4 节。这种舍入有时称为就近舍入或银行家舍入。

哦,到此为止,终于明白了,为什么会不同。但是,什么又是银行家舍入呢?

找了半天,才找到解释说明:

对于0-9这10个数字来说,他们出现在某一位的几率是相等的。在金融结算中,如果单纯的使用四舍五入,那么,入参(5-9)会比舍参(0-4)多一个,也就是说,金融机构会亏本,考虑到这种情况,也为了舍入更加公平,出现了就近舍入。既然每一位出现0-9的几率相等,那么,该位是偶数还是奇数的几率也就相等,对于舍弃位,0-4舍,6-9进没有什么疑义,主要就在于对中间数5的处理。此时,决定5是否舍弃交由它的前一位决定,如果前一位是偶,则舍弃,如果前一位是奇,则进位,如此,就实现了大致公平的舍入处理。

按照银行家舍入,考虑11.5和-11.5, 对于11.5,5前边是奇数1,故进位,结果为12;对于-11.5,变成了-12。因此,该舍入应该叫做四舍六入五向偶法。

原来如此。