我正在尝试使用VB.NET控制台应用程序打印数字反向,并且我有Integer类型的变量。当我输入数字651作为输入时,它打印1561.我写代码为
Sub Main()
Dim no, rev, temp As Integer
Console.WriteLine("enter the no")
no = CInt(Console.ReadLine())
rev = 0
temp = no
While temp > 0
Dim t As Integer
t = temp Mod 10
rev = rev * 10 + t
temp = temp / 10
End While
Console.WriteLine("Reverse number=>"+rev.ToString())
Console.ReadKey()
End Sub
当我输入数字123然后它给出正确的输出为321,但是当我给出678时,它给出输出8761或其他垃圾值,请建议我建议
答案 0 :(得分:1)
你得到这样的结果,因为,
当您将除法结果分配给整数值时,它将会 自动舍入到下一个更高的整数。
例如,Dim no As Integer = 68 / 10
会将结果显示为7
,
如果您使用Option Strict On
进行编码,则不允许进行此投射。
最好的方法是Bjørn-RogerKringsjå建议你可以简单地翻转一个数字并打印出来。
Console.Write("Reverse of {0} is : ", no.ToString().Reverse())
或者您可以按照以下步骤操作:
Console.WriteLine("enter the no")
Dim no As Integer = CInt(Console.ReadLine())
Console.Write("Reverse of {0} is : ", no)
While no > 0
Console.Write(no Mod 10)
no = Math.Floor(no / 10)
End While
Console.ReadKey()
答案 1 :(得分:0)
只需使用\
代替/
,您的工作就完成了。