vb.net做算术运算 vb常用算法大全
VB.net 算术运算导致溢出
题主这个FunctionFindWindow(一堆参数)AsLong,返回值是个Long,而下面wd=FindWindow(),wd却是个Integer类型的,当然会溢出。楼上说都改成Long确实可以,不过题主的API声明是从VB里拷贝过来的吧?VB里的Long到.NET中就是Int32了,所以应该把上面FindWindow的返回类型由Long改为Int32(或者Integer)才是正解。
创新互联于2013年创立,先为德兴等服务建站,德兴等地企业,进行企业商务咨询服务。为德兴企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
用VB.NET编的计算器程序!
Public Class SimpleCalculator
Inherits System.Windows.Forms.Form
#Region " Windows 窗体设计器生成的代码 "
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
'在 InitializeComponent() 调用之后添加任何初始化
End Sub
'窗体重写处置以清理组件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意:以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Button3 As System.Windows.Forms.Button
Friend WithEvents Button4 As System.Windows.Forms.Button
Friend WithEvents Button5 As System.Windows.Forms.Button
Friend WithEvents Button6 As System.Windows.Forms.Button
Friend WithEvents Button7 As System.Windows.Forms.Button
Friend WithEvents Button8 As System.Windows.Forms.Button
Friend WithEvents Button9 As System.Windows.Forms.Button
Friend WithEvents Button10 As System.Windows.Forms.Button
Friend WithEvents Button11 As System.Windows.Forms.Button
Friend WithEvents Button12 As System.Windows.Forms.Button
Friend WithEvents Button13 As System.Windows.Forms.Button
Friend WithEvents Button14 As System.Windows.Forms.Button
Friend WithEvents Button15 As System.Windows.Forms.Button
Friend WithEvents Button16 As System.Windows.Forms.Button
System.Diagnostics.DebuggerStepThrough() Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.Button3 = New System.Windows.Forms.Button
Me.Button4 = New System.Windows.Forms.Button
Me.Button5 = New System.Windows.Forms.Button
Me.Button6 = New System.Windows.Forms.Button
Me.Button7 = New System.Windows.Forms.Button
Me.Button8 = New System.Windows.Forms.Button
Me.Button9 = New System.Windows.Forms.Button
Me.Button10 = New System.Windows.Forms.Button
Me.Button11 = New System.Windows.Forms.Button
Me.Button12 = New System.Windows.Forms.Button
Me.Button13 = New System.Windows.Forms.Button
Me.Button14 = New System.Windows.Forms.Button
Me.Button15 = New System.Windows.Forms.Button
Me.Button16 = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(16, 16)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(48, 16)
Me.Label1.TabIndex = 0
Me.Label1.Text = "结果:"
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(64, 8)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(120, 21)
Me.TextBox1.TabIndex = 1
Me.TextBox1.Text = ""
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(200, 8)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(56, 24)
Me.Button1.TabIndex = 2
Me.Button1.Text = "清空"
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(48, 56)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(24, 24)
Me.Button2.TabIndex = 3
Me.Button2.Text = "1"
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(88, 56)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(24, 24)
Me.Button3.TabIndex = 4
Me.Button3.Text = "2"
'
'Button4
'
Me.Button4.Location = New System.Drawing.Point(136, 56)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(24, 24)
Me.Button4.TabIndex = 5
Me.Button4.Text = "3"
'
'Button5
'
Me.Button5.Location = New System.Drawing.Point(48, 88)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(24, 24)
Me.Button5.TabIndex = 6
Me.Button5.Text = "4"
'
'Button6
'
Me.Button6.Location = New System.Drawing.Point(88, 88)
Me.Button6.Name = "Button6"
Me.Button6.Size = New System.Drawing.Size(24, 24)
Me.Button6.TabIndex = 7
Me.Button6.Text = "5"
'
'Button7
'
Me.Button7.Location = New System.Drawing.Point(136, 88)
Me.Button7.Name = "Button7"
Me.Button7.Size = New System.Drawing.Size(24, 24)
Me.Button7.TabIndex = 8
Me.Button7.Text = "6"
'
'Button8
'
Me.Button8.Location = New System.Drawing.Point(48, 120)
Me.Button8.Name = "Button8"
Me.Button8.Size = New System.Drawing.Size(24, 24)
Me.Button8.TabIndex = 9
Me.Button8.Text = "7"
'
'Button9
'
Me.Button9.Location = New System.Drawing.Point(88, 120)
Me.Button9.Name = "Button9"
Me.Button9.Size = New System.Drawing.Size(24, 24)
Me.Button9.TabIndex = 10
Me.Button9.Text = "8"
'
'Button10
'
Me.Button10.Location = New System.Drawing.Point(136, 120)
Me.Button10.Name = "Button10"
Me.Button10.Size = New System.Drawing.Size(24, 24)
Me.Button10.TabIndex = 11
Me.Button10.Text = "9"
'
'Button11
'
Me.Button11.Location = New System.Drawing.Point(48, 152)
Me.Button11.Name = "Button11"
Me.Button11.Size = New System.Drawing.Size(24, 24)
Me.Button11.TabIndex = 12
Me.Button11.Text = "0"
'
'Button12
'
Me.Button12.Location = New System.Drawing.Point(176, 56)
Me.Button12.Name = "Button12"
Me.Button12.Size = New System.Drawing.Size(24, 24)
Me.Button12.TabIndex = 13
Me.Button12.Text = "+"
'
'Button13
'
Me.Button13.Location = New System.Drawing.Point(176, 88)
Me.Button13.Name = "Button13"
Me.Button13.Size = New System.Drawing.Size(24, 24)
Me.Button13.TabIndex = 14
Me.Button13.Text = "-"
'
'Button14
'
Me.Button14.Location = New System.Drawing.Point(176, 120)
Me.Button14.Name = "Button14"
Me.Button14.Size = New System.Drawing.Size(24, 24)
Me.Button14.TabIndex = 15
Me.Button14.Text = "*"
'
'Button15
'
Me.Button15.Location = New System.Drawing.Point(176, 152)
Me.Button15.Name = "Button15"
Me.Button15.Size = New System.Drawing.Size(24, 24)
Me.Button15.TabIndex = 16
Me.Button15.Text = "/"
'
'Button16
'
Me.Button16.Location = New System.Drawing.Point(88, 152)
Me.Button16.Name = "Button16"
Me.Button16.Size = New System.Drawing.Size(72, 24)
Me.Button16.TabIndex = 17
Me.Button16.Text = "计算"
'
'SimpleCalculator
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(264, 190)
Me.Controls.Add(Me.Button16)
Me.Controls.Add(Me.Button15)
Me.Controls.Add(Me.Button14)
Me.Controls.Add(Me.Button13)
Me.Controls.Add(Me.Button12)
Me.Controls.Add(Me.Button11)
Me.Controls.Add(Me.Button10)
Me.Controls.Add(Me.Button9)
Me.Controls.Add(Me.Button8)
Me.Controls.Add(Me.Button7)
Me.Controls.Add(Me.Button6)
Me.Controls.Add(Me.Button5)
Me.Controls.Add(Me.Button4)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label1)
Me.Name = "SimpleCalculator"
Me.Text = "简单计算器"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub TextBox1_TabStopChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim btn As Button '按钮类型的变量
btn = sender '把产生该事件的按钮对象赋值给btn
TextBox1.Text = TextBox1.Text + btn.Text '把该按钮的Text属性值连接到TextBox1中
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
Dim btn As Button
btn = sender
TextBox1.Text += btn.Text
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
Dim btn As Button
btn = sender
'在文本框的Text属性后连接一个空格、本按钮的Text属性值和一个空格
TextBox1.Text = TextBox1.Text + " " + btn.Text + " "
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = "" '清空文本框
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
Dim btn As Button
btn = sender
TextBox1.Text = TextBox1.Text + " " + btn.Text + " "
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
Dim btn As Button
btn = sender
TextBox1.Text = TextBox1.Text + " " + btn.Text + " "
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
Dim btn As Button
btn = sender
TextBox1.Text = TextBox1.Text + " " + btn.Text + " "
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
'发生错误转移到标号“ErrorPro”指定的行去执行错误处理程序
On Error GoTo ErrorPro
Dim r As Decimal '保存计算结果的变量
Dim t As String = TextBox1.Text '用于保存文本框中的算术表达式
Dim space As Integer = t.IndexOf(" ") '搜索空格位置,如果没有空格,返回值为0
'字符串的取子符方法,第二个参数小于0,则将产生错误号为5的异常,即过程参数不正确
Dim s1 As String = t.Substring(0, space) '通过取子串方法获得第一个运算数
Dim op As String = t.Substring(space + 1, 1) '通过取子串方法获得运算符
Dim s2 As String = t.Substring(space + 3) '通过取子串方法获得第二个运算数
Dim arg1, arg2 As Integer
arg1 = Val(s1) : arg2 = Val(s2)
Select Case op
Case "+" : r = arg1 + arg2
Case "-" : r = arg1 - arg2
Case "*" : r = arg1 * arg2
Case "/" : r = arg1 / arg2
Case Else
MsgBox("输入的运算符有误!")
Exit Sub
End Select
TextBox1.Text = CStr(r) '显示结果
Exit Sub '退出过程
ErrorPro: '错误处理程序块
Select Case Err.Number
Case 6 '除数为零时,或运算溢出时的错误号
MsgBox("算术运算溢出!", , "溢出提示")
TextBox1.Focus()
Exit Sub
Case 5 ' Substring过程的参数不符合要求的错误号
MsgBox("必须输入运算符和第二个运算数!", , "运算数少")
Exit Sub
Case Else
'其它情况显示错误号和错误原因
MsgBox("错误号为" Err.Number Chr(10) Chr(13) "错误原因:" Err.Description)
Exit Sub
End Select
End Sub
End Class
VB.net的开方运算
VB的运算顺序是:先乘除、后加减,有括号的先算括号内,有负号的先算负号。
请你比较一下这个运算中x和y的值:
Dim n As Single = 4
Dim x As Single
Dim y As Single
x = n + 1
x = x / n
x = x - 1
x = Math.Sqrt(x)
y = Math.Sqrt((n + 1) / n - 1)
这样就会发现,你的代码中括号的位置错了。
正确的应该是: Math.Sqrt((n + 1) / n - 1)
vb运算符在运算式的顺序是什么?
先乘除后加减,从右到左运算。
VB中运算符的计算优先级顺序如下:算术运算符和串联运算符求幂(^)一元标识和非(+、–)乘法和浮点除法(*、/)整数除法(\)取模(Mod)加法和减法(+、–),字符串连接(+)字符串连接()算术移位()比较运算符。
扩展资料
vb.net 特性:
1、vb.net 完全集成到 Visual Studio 集成开发环境中,在这种集成开发环境与 VB 在若干方面有差异。主要体现在窗体的布局以及菜单等方面都有所不同。
2、vb.net 项目与 VB 不同。它使用基于文件夹的模型,所有项目均放置在项目文件夹层次结构中。
3、vb.net 中使用ado.net来访问数据库,ado.net是.netFramework的一部分。在 vb.net 中实现数据访问的方法主要有两种。
其一是在程序设计阶段,通过创建、配置数据适配器 DataAdapter 和生成数据集 DataSet;其二是在运行中,通过编程方式动态创建配置数据适配器和创建、生成数据集。
4、在 vb.net 中是使用asp.net技术来编写 Web 页面的。在asp.net中使用的也不是脚本语言,而是真正意义的编程语言。
凭借asp.net的 Web 应用程序、XML Web Services 等基于 Web 的功能,使得 vb.net 开发 Web 页面与开发 Windows 应用程序很相似,Web 页面代码也显得有条有理了。
5、vb.net 已经成为完全的面向对象的编程语言,并且新增更多语言特性。
名称栏目:vb.net做算术运算 vb常用算法大全
分享路径:http://scjbc.cn/article/dosggge.html