Ric*_*cha 0 c# console-application
我想在整数结束时找出0的数字.假设任何人进入2020它应该计数1,如果数字是2000它应该显示3等;
我试过跟随,但没有完成我想要的东西:(
Console.WriteLine("Enter Number :");
int num = int.Parse(Console.ReadLine());
int count = 0;
for (int i = 1; i < num.ToString().Count(); i++)
{
//some logic
}
Console.WriteLine("Zero in the tail is :");
Console.WriteLine(count);
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 16
你不是在你的循环中改变任何东西 - 所以基本上,在每次迭代它会增加Count或不会,并且它每次都会做同样的事情 - 所以Count将是字符串的长度,或者它将是0.
在文本操作方面我能想到的最简单的选择是:
string text = num.ToString();
int count = text.Length - text.TrimEnd('0').Length;
Run Code Online (Sandbox Code Playgroud)
但是,不使用文本操作,您可以使用除法和余数操作:
int count = 0;
// Keep going while the last digit is 0
while (num > 0 && num % 10 == 0)
{
num = num / 10;
count++;
}
Run Code Online (Sandbox Code Playgroud)
请注意,对于数字0,这将产生0的计数...而第一种方法将计数为1(因为0.ToString()为"0").调整任何一段代码以满足您的要求:)