VB.Net中Math.Round()函数的结果不正确

时间:2016-05-18 05:18:07

标签: vb.net

在以下代码中,如果我在将以下输入应用于代码时遇到一些不正确的结果。

代码如下。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MsgBox(TextBox1.Text & " = Val(" & Val(TextBox1.Text) & ") = Math.Round(" & Math.Round(Val(TextBox1.Text)) & ")")
End Sub

输入已应用=>收到的输出

3.5 => 4

5.5 => 6

4.5 => 4

Math.Round函数在前两个输入中返回正确的结果,但第三个结果不正确。

请帮我解决一下。

2 个答案:

答案 0 :(得分:1)

documentation说:

  

如果d的小数分量在两个整数之间,则为1   其中是偶数,而另一个是奇数,则返回偶数。

您可以尝试使用:

Math.Round(4.5, 2, MidpointRounding.AwayFromZero) 

您可以查看MidpointRounding Enumeration

enter image description here

答案 1 :(得分:0)

Math.Round(4.5, 0, MidpointRounding.AwayFromZero)