以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教如何能以0.5为单位四舍五入  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=42317)

--  作者:北海的小熊
--  发布时间:2013/11/8 12:30:00
--  请教如何能以0.5为单位四舍五入

比如1.1/1.2/1.3 全部四舍五入成1.5

1.5/1.6/1.7 全部四舍五入成2


--  作者:狐狸爸爸
--  发布时间:2013/11/8 12:36:00
--  
Dim v As Double = 1.7
Dim m As Double = v Mod 1
If m >= 0.5 Then
    v = math.Floor(v) +1
ElseIf m> 0 Then
    v = math.Floor(v) + 0.5
End If
output.show(v)

--  作者:程兴刚
--  发布时间:2013/11/8 12:40:00
--  

……

if n mod 1 > 0

    if n mod 1 < 0.5

       n = n \\ 1 + 0.5

    else

      n = n \\1 +1

    end if

end if


--  作者:北海的小熊
--  发布时间:2013/11/8 13:03:00
--  

自己找到办法了,谢谢

自定义函数myround

Dim i As Double = Args(0)
If (i - Int(i) < 0.5) Then
    Return Int(i) + 0.5
Else
    Return Int(i) + 1.0
End If


--  作者:程兴刚
--  发布时间:2013/11/8 14:02:00
--  
以下是引用北海的小熊在2013-11-8 13:03:00的发言:

自己找到办法了,谢谢

自定义函数myround

Dim i As Double = Args(0)
If (i - Int(i) < 0.5) Then
    Return Int(i) + 0.5
Else
    Return Int(i) + 1.0
End If

 

i 为整数呢?