Vb6 如何在VisualBasic6.0中反向显示输入整数
你好!我在Visual Basic 6.0中遇到问题 我创建了两个Vb6 如何在VisualBasic6.0中反向显示输入整数,vb6,reverse,Vb6,Reverse,你好!我在Visual Basic 6.0中遇到问题 我创建了两个textboxs,一个用于输入,一个用于输出 输出应与输入相反 例如: 输入:345 产出:543 这就是我到目前为止所编写的代码 Dim rev, n As Integer rev = Val(Text1.Text) rev = rev * 10 rev = rev + n Mod 10 n = n / 10 Text2.Text = n 每当我单击命令按钮时,无论在输入中输入什么值,它都只返回0。n在代码中只分配了0(并除以
textbox
s,一个用于输入,一个用于输出
输出应与输入相反
例如:
输入:345产出:543 这就是我到目前为止所编写的代码
Dim rev, n As Integer
rev = Val(Text1.Text)
rev = rev * 10
rev = rev + n Mod 10
n = n / 10
Text2.Text = n
每当我单击命令按钮时,无论在输入中输入什么值,它都只返回0。n在代码中只分配了
0
(并除以10)
:
试试这个
Dim rev,n为整数rev=Val(StrReverse(Text1.Text))
Text 2.Text=rev
您可以使用以下选项:
Text2.Text = StrReverse(Text1.Text)
我相信您使用的是数字,因为数字可以是负数,所以StrReverse函数不会有多大帮助,因为它会反转字符串,即仅反转正数。您必须将函数创建为:
Dim num As Integer
Dim s As Integer
Dim n As Integer
Dim f As Integer
s = 0 '~~~ The result(reversed number) will be stored in this variable
num = -123 '~~~ Number to be reversed
'~~~ Checking whether it is negative or not
If num < 0 Then
num = Abs(num) '~~~ If negative, take it's absolute value, positive value
f = -1 '~~~ Keep a flag that it is a negative number
Else
f = 1 '~~~ For positive number
End If
'~~~ Reverse the number
Do While num > 0
n = num Mod 10
s = s * 10 + n
num = num / 10
Loop
s = s * f '~~~ Getting back the sign
MsgBox s '~~~ Display it
Dim num作为整数
将s变为整数
作为整数的Dim n
作为整数的Dim f
s=0'~~~结果(倒数)将存储在此变量中
num=-123'~~要反转的编号
“~~~~检查它是否为负数
如果num<0,则
num=Abs(num)~~如果为负值,则取其绝对值,正值
f=-1'~~~保留一个标志,表示它是负数
其他的
f=1'~~表示正数
如果结束
“~~~倒过来
当num>0时执行此操作
n=num Mod 10
s=s*10+n
num=num/10
环
s=s*f'~~拿回标志
MsgBox s'~~~显示它
为什么不将其反转为字符串StrReverse
^我不知道怎么做。你能详细说明一下吗?为什么要用val,它没有添加任何东西?是的。你是对的。可以省略val,除非您想在此之前执行某种计算。上面这个程序的正确代码就是我介绍的。上述程序错误,因此输出为零。r_m=余数,d_v=被除数,rev=反向,10始终是除数。您可能应该在答案中的代码中添加文本和说明,而不是注释,以便于说明。可能还想解释代码,以及为什么这是一个解决这个确切问题的方法,比如为什么原始代码不起作用——毕竟,我们在这里是为了互相帮助的!:)
Dim num As Integer
Dim s As Integer
Dim n As Integer
Dim f As Integer
s = 0 '~~~ The result(reversed number) will be stored in this variable
num = -123 '~~~ Number to be reversed
'~~~ Checking whether it is negative or not
If num < 0 Then
num = Abs(num) '~~~ If negative, take it's absolute value, positive value
f = -1 '~~~ Keep a flag that it is a negative number
Else
f = 1 '~~~ For positive number
End If
'~~~ Reverse the number
Do While num > 0
n = num Mod 10
s = s * 10 + n
num = num / 10
Loop
s = s * f '~~~ Getting back the sign
MsgBox s '~~~ Display it
Private Sub Command1_Click()
Dim r_m As Integer
Dim d_v As Integer
Dim rev As Integer
rev = 0
d_v = Text1.Text
While (d_v >= 1)
r_m = d_v Mod 10
rev = rev * 10 + r_m
d_v = d_v / 10
Wend
Text2.Text = rev
End Sub