VB.Net中的简单计算

时间:2016-02-05 19:35:49

标签: vb.net visual-studio

我想用VB.NET计算雷诺数

这是我的代码:

Public Class Form1

Dim vis As Integer
Dim Den As Integer
Dim hd As Integer
Dim vl As Integer
Dim re As Integer

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    vis = Int(TextBox1.Text)
    Den = Int(TextBox2.Text)
    hd = Int(TextBox4.Text)
    vl = Int(TextBox5.Text)
    re = (Den * vl * hd) / vl
    TextBox3.Show(re)

End Sub

End Class

查看我的用户界面here

为什么我仍然收到错误消息"参数太多" ?

2 个答案:

答案 0 :(得分:3)

您发布的代码存在一些问题,首先雷诺号的计算错误。其次,请打开Option Strict,因为它不会编译您当前的代码。第三,请使用传统的命名约定,这使得从长远来看很困难......还有更多但不重要的一点......

建议的解决方案

变量声明含义:

  • d =管道直径
  • v =液体速度
  • u =液体的粘度
  • p =液体密度
  • tot =雷诺数

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     Dim d,v,u,p,tot As Single
    
     If Single.TryParse(TextBox1.Text,d) AndAlso Single.TryParse(TextBox2.Text,v) AndAlso Single.TryParse(TextBox3.Text,u) AndAlso Single.TryParse(TextBox1.Text,p) Then
       tot = (d * v * p) / (u * 0.001)
    
       MessageBox.Show(tot.ToString) 
       'OR
       TextBox3.Text = tot.ToString
     End If
    End Sub
    

答案 1 :(得分:0)

Int函数不进行类型转换。它只返回一个值的整数部分(14.8将变为14)。要进行此转换,您希望使用CInt,如果您保证传入的文本确实是一个数字。

由于您使用的是用户提供的值,因此您可能需要使用一些错误更正。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    If Integer.TryParse(TextBox1.Text, vis) AndAlso _
       Integer.TryParse(TextBox2.Text, Den) AndAlso _
       Integer.TryParse(TextBox4.Text, hd) AndAlso _
       Integer.TryParse(TextBox5.Text, vl) Then

       'Do your calculation
    Else
       'There is some kind of error. Don't do the calculation
    End If
End Sub

我不打算解决你的公式是否正确。