VB.Net的Math.Round(6.5,0)的运算结果是多少?

weity 2003-06-04 09:11:21
我得到是:6.0
这是不是错误?

但是,其他情况:
Math.Round(7.5,0)
Math.Round(5.5,0)
Math.Round(8.5,0)
得到的结果都是正确的。
对了,我对Math.Round()函数的理解是四舍五入函数,不知道对不对!

请微软专家及高手们解释。
以及如何避免这样的错误?
...全文
691 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Latitude 2003-06-04
  • 打赏
  • 举报
回复
dim sss as double =6.5
sss = Math.Floor(sss + 0.5)

加上个0.5,再取整数部分

----
by Henry
weity 2003-06-04
  • 打赏
  • 举报
回复
那为什么
Math.Round(6.55,0)返回的就是7.0呢?

那我应该如何实现完美的四舍五入的函数呢?

贝贝壳壳 2003-06-04
  • 打赏
  • 举报
回复
查了一下。
返回值
最接近 d 参数的整数。如果 d 在两个整数的中间,其中之一按定义是偶数,另一个是奇数,则返回偶数。

并不和我们平时的四舍五入完全相同。

ms-help://MS.NETFrameworkSDK.CHS/cpref/html/frlrfsystemmathclassroundtopic1.htm
贝贝壳壳 2003-06-04
  • 打赏
  • 举报
回复
好象都返回偶数的说。。
贝贝壳壳 2003-06-04
  • 打赏
  • 举报
回复
6.5d试试。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧