Vb.net Visual Studio转换套件
我有这个作为我的转换程序的“长度”,我如何做它的最简单的方式,而不是保持如果,elseif,否则太多,我没有太多的经验,并试图提高我的编程技能的visual studio 2008 基本上,我对这些公式感到恼火,因为我不知道它是否正确,我使用谷歌,但没有帮助,因为我不知道当程序从一种类型转换到另一种类型时如何正确使用它Vb.net Visual Studio转换套件,vb.net,visual-studio,visual-studio-2008,Vb.net,Visual Studio,Visual Studio 2008,我有这个作为我的转换程序的“长度”,我如何做它的最简单的方式,而不是保持如果,elseif,否则太多,我没有太多的经验,并试图提高我的编程技能的visual studio 2008 基本上,我对这些公式感到恼火,因为我不知道它是否正确,我使用谷歌,但没有帮助,因为我不知道当程序从一种类型转换到另一种类型时如何正确使用它 Public Class Form2 Dim Metres As Integer Dim Centimetres As Integer Dim Inche
Public Class Form2
Dim Metres As Integer
Dim Centimetres As Integer
Dim Inches As Integer
Dim Feet As Integer
Dim Total As Integer
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ErrorMsg.Hide()
End Sub
Private Sub btnConvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConvert.Click
Metres = 1
Centimetres = 0.01
Inches = 0.0254
Feet = 0.3048
txtTo.Text = 0
If txtFrom.Text <> "" Then
If IsNumeric(txtFrom.Text) And IsNumeric(txtTo.Text) Then
If cbFrom.Text = "Metres" And cbTo.Text = "Centimetres" Then
Total = txtFrom.Text * Metres
txtTo.Text = Total
ElseIf cbFrom.Text = "Metres" And cbTo.Text = "Inches" Then
Total = txtFrom.Text * 100
txtTo.Text = Total
ElseIf cbFrom.Text = "Metres" And cbTo.Text = "Feet" Then
ElseIf cbFrom.Text = "Centimetres" And cbTo.Text = "Metres" Then
ElseIf cbFrom.Text = "Centimetres" And cbTo.Text = "Inches" Then
ElseIf cbFrom.Text = "Centimetres" And cbTo.Text = "Feet" Then
ElseIf cbFrom.Text = "Inches" And cbTo.Text = "Metres" Then
ElseIf cbFrom.Text = "Inches" And cbTo.Text = "Centimetres" Then
ElseIf cbFrom.Text = "Inches" And cbTo.Text = "Feet" Then
ElseIf cbFrom.Text = "Feet" And cbTo.Text = "Metres" Then
ElseIf cbFrom.Text = "Feet" And cbTo.Text = "Centimetres" Then
ElseIf cbFrom.Text = "Feet" And cbTo.Text = "Inches" Then
End If
End If
End If
End Sub
End Class
公共类表单2
作为整数的Dim米
整数厘米
将英寸设置为整数
将脚变暗为整数
将总计设置为整数
私有子表单2_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
ErrorMsg.Hide()
端接头
私有子btnConvert_Click(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理btnConvert。单击
米=1
厘米=0.01
英寸=0.0254
英尺=0.3048
txtTo.Text=0
如果是txtFrom.Text“”,则
如果IsNumeric(txtFrom.Text)和IsNumeric(txtTo.Text),则
如果cbFrom.Text=“米”和cbTo.Text=“厘米”,则
总计=txtFrom.Text*米
txtTo.Text=总计
ElseIf cbFrom.Text=“米”和cbTo.Text=“英寸”,然后
总计=txtFrom.Text*100
txtTo.Text=总计
ElseIf cbFrom.Text=“米”和cbTo.Text=“英尺”,然后
ElseIf cbFrom.Text=“厘米”和cbTo.Text=“米”,然后
ElseIf cbFrom.Text=“厘米”和cbTo.Text=“英寸”,然后
ElseIf cbFrom.Text=“厘米”和cbTo.Text=“英尺”,然后
ElseIf cbFrom.Text=“Inches”和cbTo.Text=“meters”则
ElseIf cbFrom.Text=“Inches”和cbTo.Text=“centimes”则
ElseIf cbFrom.Text=“Inches”和cbTo.Text=“Feet”然后
ElseIf cbFrom.Text=“Feet”和cbTo.Text=“meters”然后
ElseIf cbFrom.Text=“Feet”和cbTo.Text=“centimes”则
ElseIf cbFrom.Text=“Feet”和cbTo.Text=“Inches”则
如果结束
如果结束
如果结束
端接头
末级
这就是我目前所做工作的来源。一种基本方法是使用中间格式来分割“from”和“to”转换的处理 所以程序代码类似于这样:
Dim intermediate as Double //Intermediate format in centimeters
Dim result as Double
Dim inputValue as Double = cDbl(txtFrom.Text)
If cbFrom.Text = "Metres" Then
intermediate = inputValue * 100
else if cbFrom.Text = "Centimetres" Then
intermediate = inputValue
else if
...
End If
If cbTo.Text = "Metres" Then
result = intermediate / 100
else if cbTo.Text = "Centimetres" Then
result = intermediate
End If
txtTo.Text = Math.Round(result, 2) //Round optional :)
使用这种方法,您只需担心与中间格式之间的转换,并且只需处理每个输入和输出格式一次(而不是为每个输入/输出对编写自定义转换)