Round() 函数问题

Alang_79 2003-08-06 10:10:07
为什么 Round(1.6485,3)=1.648 而不等于1.649?
Round(1.6475,3)=1.648
Round(1.6465,3)=1.646
Round(1.6455,3)=1.646
...全文
25 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alang_79 2003-08-06
  • 打赏
  • 举报
回复
怎么才能让它偶数也进位呢?
Alicky 2003-08-06
  • 打赏
  • 举报
回复
VB的Bug?!?

Round(1.6465001,3)=1.647


gpo2002 2003-08-06
  • 打赏
  • 举报
回复
Debug.Print Round(1.6415, 3)
Debug.Print Round(1.6425, 3)
Debug.Print Round(1.6435, 3)
Debug.Print Round(1.6445, 3)
Debug.Print Round(1.6455, 3)
Debug.Print Round(1.6465, 3)
Debug.Print Round(1.6475, 3)
Debug.Print Round(1.6485, 3)
Debug.Print Round(1.6495, 3)

以前讨论过,它的进位方式是判断最后位奇数偶数的
penglc 2003-08-06
  • 打赏
  • 举报
回复
好象是国际财务通用的四舍五入取偶法:

http://expert.csdn.net/Expert/TopicView1.asp?id=1988003
LCAAA 2003-08-06
  • 打赏
  • 举报
回复
应该没问题吧!
我是用format(1.6485,"0.000")
这样也可以实现一样的效果。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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