【在VB中计算器的代码(要求0到9的加减乘除运算)只要0到9的加减乘除还有等于号其他都不需要】
在VB中计算器的代码(要求0到9的加减乘除运算)
只要0到9的加减乘除还有等于号其他都不需要
【在VB中计算器的代码(要求0到9的加减乘除运算)只要0到9的加减乘除还有等于号其他都不需要】
在VB中计算器的代码(要求0到9的加减乘除运算)
只要0到9的加减乘除还有等于号其他都不需要
DimNum1AsDouble
DimNum2AsDouble
DimEqualAsDouble
DimMAsDouble
DimEqual2AsInteger
DimStrNum1AsString
DimStrNum2AsString
DimFirstPointAsBoolean
DimFirstNumAsBoolean
PrivateSubCommand1_Click(IndexAsInteger)'数字输入
SelectCaseIndex
Case0To9
StrNum1=LTrim(StrNum1)+LTrim(Str(Index))
DoWhileLeft(LTrim(StrNum1),1)="0"'去掉高位数字0
StrNum1=Mid(StrNum1,2)
Loop
IfLeft(LTrim(StrNum1),1)="."ThenStrNum1="0"+LTrim(StrNum1)
Text1.Text=StrNum1'数字显示
Case10
IfFirstPointThen'小数点的输入
StrNum1=LTrim(StrNum1)+LTrim(".")
DoWhileLeft(LTrim(StrNum1),1)="0"'去掉高位数字0
StrNum1=Mid(StrNum1,2)
Loop
IfLeft(LTrim(StrNum1),1)="."ThenStrNum1="0"+LTrim(StrNum1)
Text1.Text=StrNum1'数字显示
FirstPoint=False
Text1.Text=StrNum1
EndIf
Case11
StrNum1=Text1.Text'退格
IfLen(StrNum1)>0Then
StrNum1=Left(StrNum1,Len(StrNum1)-1)'每一次退格,从字符串后面去掉一个字符
Text1.Text=StrNum1
Else
Text1.Text="0.0"
EndIf
IfInStr(StrNum1,".")=0ThenFirstPoint=True'若字符串中没有小数点,把小数点开关打开
Case12'清零
StrNum1=""
StrNum2=""
Text1.Text="0.0"
aa=""
Equal=0
Num1=0
Num2=0
FirstPoint=True'小数点开关
FirstNum=True'第一个数开关
Case13'正负符号
IfVal(StrNum1)>0Then
StrNum1="-"+LTrim(StrNum1)
Else
StrNum1=Abs(Val(StrNum1))
EndIf
Text1.Text=StrNum1
Case14'电源开关
End
EndSelect
EndSub
PrivateSubCommand2_Click(IndexAsInteger)'+-*/运算
Equal2=Index'=号开关
IfFirstNumThen'存第一个数,其中FirstNum为开关
StrNum2=StrNum1
StrNum1=""
FirstNum=False
FirstPoint=True'小数点开,以便输入第二个数
Else'若不是第一个数进入下面的+-*/运算
SelectCaseIndex
Case0'0为加法
Num1=Val(StrNum2)'Num1存第一个数
Num2=Val(StrNum1)'Num2存第二个数
Equal=Num1+Num2'Equal存结果
StrNum2=Str(Equal)'StrNum2返回结果,以便下次让Num1存结果
StrNum1=""'StrNum1清空,以便下次数字输入
aa=Str(Equal)
IfLeft(LTrim(aa),1)="-"AndLeft(LTrim(aa),2)="-."Thenaa="-0"+LTrim(Abs(Equal))
IfLeft(LTrim(aa),1)="."Thenaa="0"+LTrim(aa)
Text1.Text=aa'显示结果
FirstPoint=True'小数点开
Case1'1为减法
Num1=Val(StrNum2)
Num2=Val(StrNum1)
Equal=Num1-Num2
StrNum2=Str(Equal)
StrNum1=""
aa=Str(Equal)
IfLeft(LTrim(aa),1)="-"AndLeft(LTrim(aa),2)="-."Thenaa="-0"+LTrim(Abs(Equal))
IfLeft(LTrim(aa),1)="."Thenaa="0"+LTrim(aa)
Text1.Text=aa
FirstPoint=True
Case2'为乖法
Num1=Val(StrNum2)
IfStrNum1=""Then'便于+-*/之间切换
Num2=1
Else
Num2=Val(StrNum1)
EndIf
Equal=Num1*Num2
StrNum2=Str(Equal)