vb计算机 小数前没有0,vb6.0除法运算结果不显示小数点前的0

本文介绍了VB6.0中遇到的小数运算及显示问题,包括除法运算结果不显示小数点前的0,以及在运算过程中涉及到的Val、Str、CStr函数的使用和小数点处理。示例代码展示了如何处理这些情况,同时讨论了不同运算符的含义和用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dc6613d1bce9b2d95d58b5c1dcbf117c.png

2016-09-01 01:18齐晓庆 客户经理

在加减乘除运算中,运算结果的类型和运算量的类型相同,由于类型不同,所以出错,要达到你目的可以1000\15 1000\25,由于1.5 2.5是小数所以强制转换时出错

a5853fb263f4f241c3f0b4847b14ff39.png

2016-09-01 01:15齐敦益 客户经理

同构数是会出现在它的平方的右边的数。

如5×5=25,6×6=36。

VB6.0示例代码:

Private Sub Form_Click() Dim i As Long Dim n As Long For i = 1 To 1000 n = i ^ 2 If (n - i) Mod 10 ^ (Len(Trim(Str(i)))) = 0 Then Print i; n End If Next iEnd SubLen 函数,返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。

Trim 函数,返回 Variant (String),其中包含指定字符串将两头空格去除的拷贝

Mod 运算符,用来对两个数作除法并且只返回余数。

1038d70f8c3bbf3e3bb6f2571f6a4907.png

2016-09-01 01:12龚小芝 客户经理

VB6.0中关于=号有以下几类用法:

1)比较运算符,用来比较表达式。

比较运算符示例:

本示例示范各种“比较运算符”的用法。这类运算符通常拿来做表达式结果的比较。

Private Sub Form_Click() Dim MyResult, Var1, Var2 MyResult = (45 < 35) ' 返回 False。 Debug.Print MyResult MyResult = (45 = 45) ' 返回 True。 Debug.Print MyResult MyResult = ("5" > "4") ' 返回 True。 Debug.Print MyResultEnd Sub2)条件判断式中使用做等于号(=),见以下代码用法:

Private Sub Command1_Click() a = 1 b = InputBox("输入b", b) If a + b = 4 Then Print "Ok" Else Print "Error" End IfEnd Sub其中 If a + b = 4 Then 句中使用的是等于用法。

3)= 操作符,用于对一个变量或属性赋值。

给变量和属性赋值

BackColor = 255

VScroll1.Value = 100

MaxRows = 50

第一个语句改变当前活动窗体的属性,第二个语句改变 VScroll1 的一个属性,第三个语句则给变量赋值。

用赋值语句进行计算,并将结果赋予变量:

ApplesSold = 10 '将值10传给变量。

ApplesSold = ApplesSold + 1 '变量值增一。

8aa98725c920a7f00123963bc7bbf1af.png

2016-09-01 01:09齐新玉 客户经理

'4个选项按钮,1个标签,3个文本框和1个命令按钮

Private Sub AddOption_Click()

SymbelLabel.Caption = "+" '改变运算符号为+

OutputText.T掸虎侧臼乇铰岔歇唱忙ext = "" '将结果输出框设为空

End Sub

Private Sub DivideOption_Click()

SymbelLabel.Caption = "/" '改变运算符号为/

OutputText.Text = "" '将结果输出框设为空

End Sub

Private Sub MinusOption_Click()

SymbelLabel.Caption = "-" '改变运算符号为-

OutputText.Text = "" '将结果输出框设为空

End Sub

Private Sub MultiOption_Click()

SymbelLabel.Caption = "*" '改变运算符号为*

OutputText.Text = "" '将结果输出框设为空

End Sub

Private Sub RunCommand_Click()

Dim Number1, Number2, Result As Single '变量声明

Number1 = Val(InputText1.Text)

Number2 = Val(InputText2.Text) '获取计算数据

If AddOption.Value = True Then

Result = Number1 + Number2

End If

If MinusOption.Value = True Then

Result = Number1 - Number2

End If

If MultiOption.Value = True Then

Result = Number1 * Number2

End If

If DivideOption.Value = True Then

Result = Number1 / Number2

End If '判断是哪种运算,并计算

OutputText.Text = Result '结果显示

End Sub...

7dd5b8aef35a22cc78d481f7fc0ea0c6.png

2016-09-01 01:03齐晓彬 客户经理

一、Val 函数

返回包含于字符串内的数字,字符串中是一个适当类型的数值。

语法

Val(string)

必要的 string 参数可以是任何有效的字符串表达式.

说明

Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

下面的返回值为 1615198:

Val(" 1615 198th Street N.E.")

在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。

Val("&HFFFF")

注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。

'=====================================

Val 函数示例

本示例使用 Val 函数返回字符串中所含的数值。

Dim MyValue

MyValue = Val("2457") ' 返回 2457。

MyValue = Val(" 2 45 7") ' 返回 2457。

MyValue = Val("24 and 57") ' 返回 24。

参考资料:MSDN VB参考

二、Str 函数

返回代表一数值的 Variant (String)。

语法

Str(number)

必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。

说明

当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。

使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。

注意

Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。

for example:Str 函数示例

本示例使用 Str 函数来将一个数字转成字符串。当数字转成字符串时,字符串的第一个位一定是空格或是正负号。Dim MyStringMyString = Str(459) \' 返回 " 459"。MyString = Str(-459.65) \' 返回 "-459.65"。MyString = Str(459.001) \' 返回 " 459.001"。

三、CStr 函数

说明

传回一个转换为 String 资料型态的运算式。

语法

CStr(expression)

引数 expression 可以是任何有效的运算式。

注解

通常,您可以使用资料型态转换函数,以特定的资料型态,取代预设的资料型态来进行运算。例如,使用 CStr 来强制将执行结果以 String 资料型态表示。

您可以使用 CStr 函数而非 Str 函数,在任何语言的版本中,让任何一个资料型态转换至 String 资料型态。例如......

60cdc966bac98e6eca3d0be6486df804.png

2016-09-01 01:00车广伟 客户经理

Option Explicit

Const PI = 3.14159265

Dim 弧度制 As Boolean

Dim 新数据 As Boolean

Dim 被运算数 As Double '第一个操作数

Dim 运算数 As Double '第二个操作数

Dim 当前运算符 As Integer '仅四则运算记录,函数不记录

Private Sub Command1_Click(Index As Integer) '数字键

If 新数据 Then

If Index <> 0 Then

Text1 = CStr(Index)

新数据 = False

End If

ElseIf Len(Text1) > 16 Then

Beep '报警二声

Beep

Exit Sub

Else

Text1 = Text1 & CStr(Index) '追加数据

End If

End Sub

Private Sub Command2_Click() '小数点

If Len(Text1.Text) > 16 Or InStr(Text1, ".") > 0 Then

Beep '报警二声

Beep

Exit Sub

End If

If 新数据 Then '以小数点开始前头补零

Text1 = "0."

新数据 = False

Else

Text1 = Text1 & "."

End If

End Sub

Private Sub Command3_Click() '清除

初始化

End Sub

Private Sub Command4_Click() '关机

End

End Sub

Private Sub Command5_Click(Index As Integer) '四则运算按钮

被运算数 = Val(Text1)

当前运算符 = Index

新数据 = True

End Sub

Private Sub Command6_Click() '执行计算

On Error GoTo 溢出了

运算数 = Val(Text1)

新数据 = True

Select Case 当前运算符

Case 0 '加法

Text1 = 被运算数 + 运算数

Case 1 '减法

Text1 = 被运算数 - 运算数

Case 2 '乘法

Text1 = 被运算数 * 运算数

Case 3 '除法

If 运算数 = 0 Then '除数为零的处理

Text1.Text = "除数为零!"

Beep

Beep

Else

Text1 = 被运算数 &......余下全文>>

08fb8ed1df2a2d642a4b0665f5f7f444.png

2016-09-01 00:57龚少英 客户经理

Dim x!, n1!, n2!

'N1,N2分别代表输入的第一个数和第二个数

Dim strn1$, strn2$

'StrN1,StrN2分别代表输入第一个

Dim firstN As Boolean

'判断是否是数字开头

Dim pointflag As Boolean

'判断是否已有小数点

Dim runsign As Integer

'变量Runsign用来储存运算符号

Dim signflag As Boolean

'变量SignFlag判断是否已有运算符号

Private Sub form_load()

n1 = 0: n2 = 0

strn1 = "": strn2 = ""

firstN = True

pointflag = False

'将 PointFlag 设为否,即没有小数点

runsign = 0

signflag = False

'没有运算符号输入

End Sub

Private Sub cmdN_Click(Index As Integer)

Select Case Index

'用Index 作为判断分支的条件

Case 0 To 9

'如果Index是0到9,即数字

If firstNum Then

'输入为第一个数字的话

strn1 = Str(Index)

'实型转字符型

firstN = False

'初赋值标志为假

Else

strn1 = strn1 + Str(Index)

'输入不是第一个数字的话,将输入的字符添加到原有字符串上

End If '结束 if 块

Text1.Text = strn1 '将字符串结果显示到标签上

Case 10 '如果输入为小数点

If Not pointflag Then '如果没有小数点

If firstN Then '如果是第一个字符

strn1 = "0." '显示为" 0." 不变

firstN = False

Else

strn1 = strn1 + "."

'初赋值标志为假,否则字符串上加上小数点符号

End If '结束if块

Else

Exit Sub

'已有小数点,则退出单击事件,也就是对单击事件不反应

End If

pointflag = True

Text1.Text = strn1

'将小数点标志为真,即在输入串中有了小数点,在显示屏上显示数字串

Case 17

If Sgn(Val(strn1)) = 1 Then

strn1 = "-" + strn1

Else

If Sgn(Val(strn1)) = -1 Then

strn1 = Right(strn1, Len(strn1) - 1)

......余下全文>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值