在Visual Basic中舍入一个数字

Pau*_*aul 7 vb.net math rounding

我有一个需要向下舍入数字的Visual Basic应用程序,例如,2.556将变为2.55而不是2.26.

我可以使用一个函数来执行此操作,使用以下方法从小数点开始删除2个以上的字符:

Dim TheString As String
TheString = 2.556
Dim thelength = Len(TheString)
Dim thedecimal = InStr(TheString, ".", CompareMethod.Text)
Dim Characters = thelength - (thelength - thedecimal - 2)
_2DPRoundedDown = Left(TheString, Characters)
Run Code Online (Sandbox Code Playgroud)

这样做有更好的功能吗?

Ree*_*sey 11

您可以使用Math.Floor执行此操作.但是,您需要乘以*100并除以,因为您无法提供多个数字

Dim theNumber as Double
theNumber = 2.556
Dim theRounded = Math.Sign(theNumber) * Math.Floor(Math.Abs(theNumber) * 100) / 100.0
Run Code Online (Sandbox Code Playgroud)