舍入文本框结果VB

时间:2013-05-22 21:07:50

标签: vb.net

什么是VB上的方法将文本框中的结果四舍五入到三位小数,例如1.0030302到1.0003

以下是结果控制按钮的代码..

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim resistivity As Double
    results.Show()
    resistivity = "1" / (Val(TextBox15.Text) + Val(TextBox30.Text) + Val(TextBox29.Text) + Val(TextBox28.Text) + Val(TextBox27.Text) + Val(TextBox26.Text) + Val(TextBox25.Text) + Val(TextBox24.Text) + Val(TextBox16.Text))
    results.Text = Convert.ToString(resistivity)

3 个答案:

答案 0 :(得分:2)

使用Decimal.TryParseMatch.Round

Dim resistivity As Decimal
Dim val1, val2, val3 As Decimal

If Decimal.TryParse(TextBox1.Text, val1) AndAlso Decimal.TryParse(TextBox2.Text, val2) AndAlso Decimal.TryParse(TextBox3.Text, val3) Then
    resistivity = Math.Round(1/ (val1 + val2 + val3), 4)
End If

答案 1 :(得分:0)

奇怪的问题......

基本:

    results.Text = (Math.Round(resistivity * 1000) / 1000).ToString()

如何在TextBox15中编写“blabla”?

=>如果您没有检查所有文本框实际包含数字的地方,那么您将获得一个例外...只是一个评论;)

答案 2 :(得分:0)

首先:使用数字控件

不要将文本框用于十进制值,这是非常糟糕的做法

为什么这会是一种不好的做法?

  • 用户可以输入字母
  • 您需要自己验证小数

第二:考虑您的需求

根据您的需要,有三种主要的数学方法(示例包含在链接中):

回合:

Math.Round(yourNumber,4)

http://msdn.microsoft.com/en-us/library/zy06z30k.aspx

Math.Ceiling(yourNumber,4)

http://msdn.microsoft.com/en-us/library/system.math.ceiling.aspx

楼层:

Math.Floor(yourNumber,4)

http://msdn.microsoft.com/en-us/library/9a6a2sxy.aspx