Foxtable(狐表)用户栏目专家坐堂 → Round用法


  共有6120人关注过本帖树形打印复制链接

主题:Round用法

帅哥哟,离线,有人找我吗?
明丰
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
Round用法  发帖心情 Post By:2011/10/11 10:08:00 [只看该作者]

  Round取值方法:

 

1四舍六入五成双

 

如果要保留n位小数位,如果原值小数位数是n+1,一般情况下是“四舍六入五成双”, 2.195 4.395保留2小数时例外,即5不进位

 

2四舍五入

 

如果希望四舍五入保留小数位,只要增加原值小数位即可,如原值加上0.00000001。(如:output.show(math.round((4.45 + 0.00000001),1))

 

另外Val转换数值时,如果是数字开头的混合字符,用Val转换时会出错(如output.show(val("12AB")))


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/11 10:10:00 [只看该作者]

Return round2(1.23456,2)

 回到顶部
帅哥哟,离线,有人找我吗?
明丰
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2011/10/11 10:22:00 [只看该作者]

什么意思?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/11 10:25:00 [只看该作者]

roun2也是四舍五入,符合你的要求

 回到顶部
帅哥哟,离线,有人找我吗?
明丰
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2011/10/11 10:32:00 [只看该作者]

“roun2也是四舍五入”

建议加入到帮助里面,谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
明丰
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2011/10/11 10:39:00 [只看该作者]

Round取值有点乱,如:

output.show(math.round(1.285,2) ) '不进位
output.show(math.round(1.245,2) ) '进位


 回到顶部
帅哥哟,离线,有人找我吗?
新福星
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1960 积分:15536 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/8/4 6:13:00 [只看该作者]

Round取值有点乱,如:

output.show(math.round(1.285,2) ) '不进位
output.show(math.round(1.245,2) ) '进位  

看了Round定义是发现1.245 的结果是 1.25.和定义有出入?



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/4 8:43:00 [只看该作者]

用format就好了。或者你重写round2方法,在全局代码写

 

Public Function Round2(val As Double, num As Integer) As Double
    Return Format(val, "#." & "00000000000".Substring(0,num))
End Function


 回到顶部