Как узнать длину числа - C#
Формулировка задачи:
Собственно сабж: как узнать длину числа, если это float / double...
Как узнать сколько всего цифр есть в числе.. допустим 123456.78 - это 8 цыфр...
Перевести в строку и узнать длину не катит, так как в таком случае будет не 8 а 9 знаков (посчитает еще и "."). Или еще хуже - может быть не только точка, но и минус в начале типа -123.455678 тогда уже не 8 символов, а 9.
Что делать?
Решение задачи: «Как узнать длину числа»
textual
Листинг программы
int GetWholeDigitCount(decimal x)
{
x = Math.Abs(x);
int count = 1;
while ((x /= 10) > 1) ++count;
return count;
}
int GetFractionalDigitCount(decimal x)
{
x = Math.Abs(x);
int count = 0;
while (x % 1 != 0) { ++count; x *= 10; }
return count;
}