运用 Visual Basic 处理数字时,要用到两种类型的数字:整型和浮点型。整型只能表示整数,浮点型主要用于表示带有小数的数字,虽然浮点数也可以表示整数。
废话少说,先做一个整数变量的计算示例你就大致明白了。
打开 Visual Studio。在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序 (Windows Application)。在名称 (Name) 框中键入 IntegerMath,再单击确定 (OK)。
单击工具箱 (Toolbox) 里的按钮 (Button) 控件,按住鼠标将其拖放到 Form 1 上。然后在属性 (Properties) 窗口内将其 Name 属性改为 btnIntMath,将其 Text 属性改为 Math Test。然后双击该按钮,出现 Click 事件处理程序头尾两行代码,如下:
Private Sub btnIntMath_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnIntMath.Click
End Sub
在上述代码中插入一些代码,扩充成如下:
Private Sub btnIntMath_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnIntMath.Click
'Declare variable
Dim intNumber As Integer
'Set number, add numbers, and display results
intNumber = 16
intNumber = intNumber + 8
MessageBox.Show("Addition test... " & intNumber, "Integer Math")'Set number, subtract numbers, and display results
intNumber = 24
intNumber = intNumber - 2
MessageBox.Show("Subtraction test... " & intNumber, "Integer Math")'Set number, multiply numbers, and display results
intNumber = 6
intNumber = intNumber * 10
MessageBox.Show("Multiplication test... " & intNumber, "Integer Math")'Set number, divide numbers, and display results
intNumber = 12
intNumber = intNumber / 6
MessageBox.Show("Division test... " & intNumber, "Integer Math")End Sub
选择调试 (Debug) 菜单中的 开始调试 (Start Debugging),运行该程序。或者直接按快捷键 F5 运行。
会弹出四个消息框,按确认 (OK) 即可关闭消息框。
我们先看其中这段代码:
intNumber = 16
intNumber = intNumber + 8
MessageBox.Show("Addition test... " & intNumber, "Integer Math")第一行代码意思:将 16 这个整数赋值给变量 intNumber。
第二行代码意思:在变量 intNumber 中存储当前的 intNumber(即16)加 8 的值。
第三行代码意思:弹出消息框,显示 intNumber 最终存储的数字。
依次类推,该程序中的其它代码你也很好理解,它们分别是变量的减法运算,乘法运算和除法运算。
整数的运算中,用 + 表示加法,- 表示减法,* 表示乘法,/ 表示除法。
Visual Basic 2005 中的整数类型 (Integer) 能表示 -2,147,483,648 到 2,147,483,647 之间的整数。
我们可以用简写运算符缩短我们的代码,比如
intNumber = intNumber + 8
可以简写成:
intNumber += 8
这样就不必写两次 intNumber 了。
下面依次列示了减法,乘法和除法的简写运算符
intNumber -= 8
intNumber *= 8
intNumber /= 8
整形运算的主要问题就是对小数部分无能为力。假设我们写了如下代码:
'Try multiplying numbers...
intNumber = 6
intNumber = intNumber * 10.23
这些代码虽然可以运行,但是得不到预想的结果,因为变量 intNumber 被定义为只能接收整数,所以结果是一个经过四舍五入的最接近这个值的整数。6 乘以 10.23 应该等于61.38,但是 intNumber 的返回值却是 61。
类似的问题也会出现在除法运算中,比如下列代码:
'Try dividing numbers...
intNumber = 12
intNumber = intNumber / 5
12 除以 5 应该等于 2.4,但是 intNumber 的返回值却是 2。
遇到有关小数的运算,我们应该用下面讲述的浮点运算。
先做一个有关浮点运算的示例吧。
打开 Visual Studio。在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序 (Windows Application)。在名称 (Name) 框中键入 Floating-Pt Math,再单击确定 (OK)。
在窗体 Form 1 里添加一个 按钮 (Button) 控件,然后在相关属性 (Properties) 窗口内将其 Name 属性改为 btnFloatMath,将其 Text 属性改为 Double Test。然后双击该按钮,出现 Click 事件处理程序头尾两行代码,如下:
Private Sub btnFloatMath_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnFloatMath.Click
End Sub
在其中加入代码,扩充成如下:
Private Sub btnFloatMath_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnFloatMath.Click
'Declare variable
Dim dblNumber As Double
'Set number, multiply numbers, and display results
dblNumber = 45.34
dblNumber *= 4.333
MessageBox.Show("Multiplication test... " & dblNumber, "Floating Points")'Set number, divide numbers, and display results
dblNumber = 12
dblNumber /= 7
MessageBox.Show("Division test... " & dblNumber, "Floating Points")End Sub
选择调试 (Debug) 菜单中的 开始调试 (Start Debugging),运行该程序。或者直接按快捷键 F5 运行。
你会注意到,在上述代码中,我们将变量 dblNumber 定义成双精度的浮点数 (Double),而不是整数 (Integer) 类型。执行上述代码,得出的运算结果是带有小数的数值。
提示
之所以叫浮点数,主要是因为它存储数字的方式类似于科学计数法。当用科学计数法表示某个数时,可以表示为 1-10 之间的某个数乘以 10 的幂次方。
例如,10001 被表示为 1.0001 * 104,0.0010001 被表示为 1.001*10-3 。可以看出,小数点”浮动“到第一个数字后面。这种表示法的优点在于不管是大数还是小数,都可以用相同的精度来表示。浮点数变量以相同的方式存储在计算机里,不过不是 10 幂次方,而是 2 的 幂次方。
前面的示例中我们用了双精度浮点数 (Double)的数据类型。在 Visual Basic 中,还提供单精度浮点数 (Single) 的数据类型。
这两者主要在精度上有区别。双精度浮点数能精确表示1.79769313486231570E+308 到 -4.94065645841246544E-324 范围的负数和从 4.94065645841246544E-324 到 1.79769313486231570E+308 范围的正数。单精度浮点数能够精确表示从 -3.4028235E+38 到 -1.401298E-45 的负数和从 1.401298E-45 到 3.4028235E+38 的正数。
单精度浮点数的精度没有双精度那么高,但是所需内存少,运算速度快。
提示
如果对精度要求不高,则应该尽量避免使用双精度浮点数,而应该使用单精度浮点数。这一点在一些大型应用程序中非常重要。如果在定义变量时,单精度浮点数就足够了,但是却使用了双精度浮点数,会大大减慢程序的运行。
如果某个变量只需要整数类型就足够了,应避免用浮点数。因为整数的运算速度更快。
编者:woyouxian[at]gmail[点]com
参考:Beginning Visual Basic 2005 --> Writing Software --> Data Types --> Working with Numbers
时间:2006-11-29
常来网 站长学院
常来网 商务中心
最全的图库素材下载点
这里有让你生存下去的资料!
更多学习资料...
陪你渡过精彩人生