vb中round()函数是什么意思

如题所述

VB6中文版说Round函数是四舍五入函数,实际上这个函数采用的四舍六入五留双。VB的Round所采用的算法是这样的:
1.25留一位,则1.2=round(1.25)
如果是1.35,则1.4=round(1.35)
奇进偶不进。这样在一大串需要四舍五入的数相加相减相乘时误差小一点。eg:1.25+1.35+1.45+1.55+1.15+1.65=8.4=round(1.25)+round(1.35)+round(……
ROUND函数符合国家和国际标准,该函数是正确的。原先的四舍五入只是一个简化。
在微软的Knowledge Base的文章:“Q194983 PRB: Round Function Different in VBA 6 and Excel Spreadsheet”和微软的Knowledge Base的文章:“Q189847 INFO: New String and Format Functions in Visual Basic 6.0”中都指出Round函数实行Banker舍入,而不是我们习惯的算术舍入(四舍五入)。你可以参考微软的Knowledge Base的文章:“Q196652 HOWTO: Implement Custom Rounding Procedures”,它对于舍入问题有详细的讨论。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-17

一、VB6中文版说Round函数是四舍五入函数,实际上这个函数采用的四舍六入五留双。

二、Round所采用的算法是这样的:
1、1.25留一位,则1.2=round(1.25)

2、如果是1.35,则1.4=round(1.35)

3、奇进偶不进。这样在一大串需要四舍五入的数相加相减相乘时误差小一点。

eg:1.25+1.35+1.45+1.55+1.15+1.65=8.4=round(1.25)+round(1.35)+round(……

补充:

一、ROUND函数符合国家和国际标准,该函数是正确的。原先的四舍五入只是一个简化。 

二、在微软的Knowledge Base的文章:“Q194983 PRB: Round Function Different in VBA 6 and Excel Spreadsheet”和微软的Knowledge Base的文章:“Q189847 INFO: New String and Format Functions in Visual Basic 6.0”中都指出Round函数实行Banker舍入,而不是我们习惯的算术舍入(四舍五入)。

本回答被网友采纳
第2个回答  2012-09-21
你可以查一下相关手册,不过现在没多少人用VB开发了!
相似回答