Как я могу получить количество общего числа цифр в C#? Например, номер 887979789 имеет 9 цифр.Как я могу получить количество общего числа цифр в номере?
ответ
без преобразования в строку, вы можете попробовать: комментарий
Math.Ceiling(Math.Log10(n));
коррекции следующего ysap в:
Math.Floor(Math.Log10(n) + 1);
Попробуйте:
myint.ToString().Length
ли это работает?
Не понял, что это была домашняя работа ... ну ладно! Надеюсь, вы увидите *, почему это работает! – Andiih
Эта работа, спасибо – Arash
Стоит отметить, что вы столкнетесь с проблемами с этим методом, если имеете дело с отрицательными числами.(И, очевидно, десятичные числа, но пример использует 'int', поэтому я предполагаю, что это не проблема.) –
static void Main(string[] args)
{
long blah = 20948230498204;
Console.WriteLine(blah.ToString().Length);
}
деление на 10 даст вам самую левую цифру, то делать моды 10 на числе дает номер без первой цифры и повторить, что до вас есть все цифры
Это зависит от того, что именно вы хотите делать с дигитами. Вы можете перемещаться по номеру цифры, начиная от последнего к первому таким образом:
int tmp=number;
int lastDigith = 0;
do
{
lastDigith = tmp/10;
doSomethingWithDigith(lastDigith);
tmp %= 10;
}while(tmp!=0);
Не непосредственно C#, но формула: n = floor(log10(x)+1)
log10 (0) is -infinity –
@Klaus - log10 (0) на самом деле не определено. Но вы правы в том, что это особый случай, который нужно тестировать и обрабатывать отдельно. Это справедливо и для любого не положительного целого числа. См. Комментарии к ответу Стива. – ysap
Ответы уже здесь работают для целых чисел без знака, но я не нашел хороших решений для получения числа цифр от десятичных знаков и удвоений.
public static int Length(double number)
{
number = Math.Abs(number);
int length = 1;
while ((number /= 10) >= 1)
length++;
return length;
}
//number of digits in 0 = 1,
//number of digits in 22.1 = 2,
//number of digits in -23 = 2
Вы можете изменить тип входного сигнала от double
до decimal
Если указана точность вопросы, но десятичное имеет предел тоже.
Если его только для проверки вы можете сделать: 887979789 > 99999999
Использование рекурсии (иногда спрашивают на интервью)
public int CountDigits(int number)
{
// In case of negative numbers
number = Math.Abs(number);
if (number >= 10)
return CountDigits(number/10) + 1;
return 1;
}
Ответ Steve is correct, но он не работает для целых чисел меньше, чем 1.
Вот обновленная версия, которая делает работу для негативов:
int digits = n == 0 ? 1 : Math.Floor(Math.Log10(Math.Abs(n)) + 1)
преобразовать в строку, а затем вы можете подсчитать число без цифр по методу .length. как:
String numberString = "855865264".toString();
int NumLen = numberString .Length;
Выделение строки совершенно не нужно. – Krythic
Предположим, что ваш вопрос был ссылкой на междунар, следующие работы для отрицательной/положительной и нулевой, а также:
Math.Floor((decimal) Math.Abs(n)).ToString().Length
Сокращенное значение для вопиющего выделения строки. – Krythic
- 1. Подсчет числа четных цифр в номере?
- 2. Число цифр в номере?
- 3. Как подсчитать количество цифр в заданном номере в C++
- 4. Как узнать количество цифр числа в C++?
- 5. Получить количество цифр в int
- 6. Как получить количество цифр после запятой двойного числа в VB.NET?
- 7. Использование переходов CSS для отображения большего числа цифр в номере
- 8. iOS: узнать количество цифр цифр
- 9. Количество копий от общего числа
- 10. Подсчитайте количество цифр числа с плавающей запятой
- 11. Рекурсия - поиск количества четных цифр в номере
- 12. Как я могу получить точность десятичного числа в js?
- 13. В C#, как я могу отображать только определенное количество цифр?
- 14. Как с Integer.toBinaryString я могу установить количество цифр в java?
- 15. Самый быстрый способ получить количество цифр на номер?
- 16. Максимальное количество пользователей в номере
- 17. Могу ли я найти количество цифр BigInteger в C#?
- 18. Задайте количество цифр для целого числа
- 19. Получить первые N цифр числа
- 20. Как я могу отобразить, сколько цифр у числа?
- 21. Как я могу форматировать числа с одинаковым количеством цифр?
- 22. Как я могу получить цифру от четырех цифр
- 23. Как уменьшить количество значащих цифр любого числа в R?
- 24. Количество цифр в матрице
- 25. Как получить последние n цифр шестнадцатеричного числа?
- 26. Как определить первую цифру числа, не зная числа цифр? C++
- 27. C++ программа для цифр числа
- 28. Получить количество цифр с метки ios
- 29. Частота большинства повторяющихся цифр в номере в R
- 30. Как я могу заставить textBox получать количество в номере в JFrame?
попробуйте использовать .Length, если он не работает, преобразовать его в строка сначала – Breezer
Пусть говорят x = 887979789; . X.ToString() Count(); даст вам это. –