Vb6 如何在VisualBasic6.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(并除以

你好!我在Visual Basic 6.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