关于VB计算器的问题

来源:百度知道 编辑:UC知道 时间:2024/05/04 04:03:45
为什么当2个有小数的数字计算后,结果会显示出带有10多个小数的数字?比方说3.2-1.2= 1.99999995231628
为什么会出现这种情况?以下是我所有的代码:

Dim Runsign As Integer '储存运算符号
Dim Num1, Num2 As Single
Dim StrNum1, StrNum2 As String
Dim FirstNum, SignFlag, PointFlag As Boolean

Private Sub Command1_Click(Index As Integer)
Select Case Index

Case 0 To 9
If FirstNum Then
StrNum1 = CStr(Index)
FirstNum = False
Else
StrNum1 = StrNum1 + CStr(Index)
End If
TxtShow.Text = StrNum1

Case 10
If PointFlag Then '假如没有小数点
If FirstNum Then '如果是第一个字符
StrNum1 = "0."
FirstNum = False
PointFlag = False
Else
StrNum1 = StrNum1 + "."
PointFlag = False
End If
Else '已有小数点
Exit Sub '退出单击事件
End If
TxtShow.Text = StrNum1

Case 12 To 15
FirstNum = True
PointFlag = True

将第二行的"Dim Num1, Num2 As Single "改为"Dim Num1 As Single , Num2 As Single " 。

"Dim Num1, Num2 As Single"意思是"声明Num1为变体变量,Num2为Single",同样第三行的声明也是如此。关于这点网上很多流传的"精简代码"是错的。