我正在尝试在C#中编写一段代码来查找整数的数字,这段代码适用于所有数字(负数和正数),但我有10,100,1000等问题,它显示比数字的实际位数少一个数字.像10表示1和100表示2 ..
long i = 0;
double n;
Console.Write("N? ");
n = Convert.ToInt64(Console.ReadLine());
do
{
n = n / 10;
i++;
}
while(Math.Abs(n) > 1);
Console.WriteLine(i);
Run Code Online (Sandbox Code Playgroud)
你的状态是Math.Abs(n) > 1,但在10的情况下,你第一次只有大于1.您可以更改此检查>=1,这应该可以解决您的问题.
do
{
n = n / 10;
i++;
}
while(Math.Abs(n) >= 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3248 次 |
| 最近记录: |