VB.net控制台应用程序打印数字的倒数
我正在尝试使用VB.NET控制台应用程序打印数字的倒数,我有一个整数类型的变量。当我输入数字651时,它会打印1561。我已经把代码写成VB.net控制台应用程序打印数字的倒数,vb.net,Vb.net,我正在尝试使用VB.NET控制台应用程序打印数字的倒数,我有一个整数类型的变量。当我输入数字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
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或其他垃圾值,请建议我你得到这样的结果,因为 将除法结果指定给整数值时,它将 自动四舍五入到下一个更高的整数 例如,
Dim no As Integer=68/10
会将结果显示为7
,
如果您使用选项对
进行编码,则不允许进行此转换。
最好的方法是比约恩·罗杰·克林斯杰(Bjørn Roger Kringsjå)你可以简单地将一个数字反转并打印出来
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()
只需使用
\
而不是/
,您的工作就完成了。那么,当您单步执行代码时,调试器会告诉您什么?嗯,String.Join(“,no.ToString().Reverse())
?这才是真正的工作。它还与我上面写的代码temp=Math.Floor(temp/10)一起工作