как узнать количество цифр в числе java
Как узнать количество цифр в числе java
Профиль
Группа: Участник
Сообщений: 49
Регистрация: 17.2.2011
Репутация: нет
Всего: нет
Код |
public class MATH < public static void main(String args[]) < final double a = 33; System.out.println(a); > > |
Бывалый
Профиль
Группа: Участник
Сообщений: 223
Регистрация: 7.4.2009
Репутация: нет
Всего: 10
Опытный
Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada
Репутация: 11
Всего: 16
Код |
public class T < public static void main(String []args) < int x = Integer.parseInt(args[0]); int n = 1; while ((x = x/10) > 0) n++; System.out.println(n); > > |
Leprechaun Software Developer
Профиль
Группа: Модератор
Сообщений: 15680
Регистрация: 24.3.2004
Репутация: 206
Всего: 534
Опытный
Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010
Репутация: 7
Всего: 8
Бывалый
Профиль
Группа: Участник
Сообщений: 223
Регистрация: 7.4.2009
Репутация: нет
Всего: 10
Опытный
Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada
Репутация: 11
Всего: 16
Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.8.2011
Репутация: нет
Всего: нет
Leprechaun Software Developer
Профиль
Группа: Модератор
Сообщений: 15680
Регистрация: 24.3.2004
Репутация: 206
Всего: 534
Опытный
Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010
Репутация: 7
Всего: 8
Цитата(LSD @ 23.8.2011, 15:50 ) |
Кстати, в оригинале фигуриует double, так что без изменений будет работать только логарифм |
я так понял речь идет о задании, коком то.
но ведь речь может идти о колличестве чисел не только в целой части но и в мантиссе, с кажем до заданной точности.
безусловно, логорифмирование выглядит очень математично, так что на собеседке, например, будет действовать блондинисто.
Но в реальности думаю легче конвертить в строку, просплитать, если надо, конвертнуть в нужную систему исчисления и т.д.
Интересно, насколько ресурсоемко вычисление логарифма? По сути это умножение с проверкой.
Конвертация в строку, наверное медленнее, меня беспокоит метод getChars в первую очередь.
Код |
final static int [] sizeTable = < 9, 99, 999, 9999, 99999, 999999, 9999999, 99999999, 999999999, Integer.MAX_VALUE >; |
// Requires positive x
static int stringSize(int x) <
for (int i=0; ; i++)
if (x
Leprechaun Software Developer
Профиль
Группа: Модератор
Сообщений: 15680
Регистрация: 24.3.2004
Репутация: 206
Всего: 534
Цитата(priam220 @ 23.8.2011, 18:27 ) |
Интересно, насколько ресурсоемко вычисление логарифма? |
Опытный
Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010
Репутация: 7
Всего: 8
Leprechaun Software Developer
Профиль
Группа: Модератор
Сообщений: 15680
Регистрация: 24.3.2004
Репутация: 206
Всего: 534
Цитата(priam220 @ 23.8.2011, 20:34 ) |
LSD, почему тогда в core не испльзовали логарифмические команды? Я о куске с массивом девяток. Не догадались? |
Бывалый
Профиль
Группа: Участник
Сообщений: 223
Регистрация: 7.4.2009
Репутация: нет
Всего: 10
Почему-то мне кажется, что для такого действия достаточно интеллектуален.
С массивом супер просто решение!
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.
[ Время генерации скрипта: 0.1509 ] [ Использовано запросов: 21 ] [ GZIP включён ] Количество цифр в целом в JavaИзучите различные способы получения количества цифр в целом в Java. 1. введениеВ этом кратком руководстве мы рассмотрим различные способы получения количества цифр в целочисленном в Java. Мы также проанализируем эти различные методы и выясним, какой алгоритм лучше всего подходит для нашей ситуации. Дальнейшее чтение:Как округлить число до N десятичных знаков в JavaПроверьте, является ли строка Числовой в JavaПрактическое руководство по десятичному формату2. Количество цифр в целочисленном числеДля методов, обсуждаемых здесь, мы рассматриваем только положительные целые числа. Если мы ожидаем каких-либо отрицательных входных данных, то мы можем сначала использовать Math.abs(число) перед использованием любого из этих методов. 2.1. Решение На основе строкЕсли у нас есть только несколько чисел для оценки, то мы можем явно пойти с этим решением – потому что разница между этим и любым другим подходом будет пренебрегаться даже для больших чисел. 2.2. Логарифмический ПодходДля чисел, представленных в десятичной форме, если мы возьмем их логин в базе 10 и округлим его, то получим количество цифр в этом числе: Логарифмический подход значительно быстрее, чем подход на основе String , поскольку ему не нужно проходить процесс преобразования данных. Это просто включает в себя простой, простой расчет без какой-либо дополнительной инициализации объекта или циклов. 2.3. Повторное УмножениеВ этом коде строка temp совпадает с записью temp = (temp Метки Получить количество цифр с помощью JavaScriptно Safari говорит, что он не работает из-за TypeError : 9 ответовlength является свойством, а не методом. Вы не можете его назвать, поэтому вам не нужны скобки () : С точки зрения скорости, потенциально самый быстрый способ получить количество цифр в заданном кол-делать это математически. Для положительные целые числа есть замечательный алгоритм с log10 : создание быстрых математических решений для десятичных чисел не будет легко из-за хорошо известное поведение математики с плавающей запятой, поэтому подход cast-to-string будет более простым и надежным. Как упоминалось @streetlogics быстрое литье можно сделать с помощью простого числа для конкатенации строк, ведущего заменить решение для преобразования в: вот математический ответ (также работает для отрицательных чисел): и оптимизированная версия выше (более эффективные операции побитового): по существу, мы начинаем с получения абсолютного значения ввода, чтобы позволить отрицательным значениям работать правильно. Затем мы запускаем операцию log10, чтобы дать нам, какая мощность 10 входных данных (если вы работали в другой базе, вы бы использовали логарифм для этой базы), который является количество цифр. Затем мы наполним вывод, чтобы захватить только целочисленную часть этого. Наконец, мы используем функцию max для фиксации десятичных значений (любое дробное значение от 0 до 1 просто возвращает 1 вместо отрицательного числа) и добавляем 1 к конечному выходу, чтобы получить счет. вышеизложенное предполагает (на основе вашего примера ввода), что вы хотите подсчитать количество цифр в целых числах (так 12345 = 5, и, следовательно, 12345.678 = 5). Если вы хотите подсчитать общее количество цифр в значение (так 12345.678 = 8), затем добавьте это перед «возвращением» в любой функции выше: поскольку это появилось в поиске Google для «javascript получить количество цифр», я хотел бросить его там, что есть более короткая альтернатива этому, которая зависит от внутреннего кастинга, который будет сделан для вас: Если вам нужны цифры (после разделителя), вы можете просто разделить номер и подсчитать длину второй части (после точки). Я все еще изучаю Javascript, но я придумал эту функцию в C некоторое время назад, которая использует математику и цикл while, а не строку, поэтому я переписал ее для Javascript. Возможно, это можно было бы сделать рекурсивно, но я все еще не понял концепцию: (это лучшее, что я мог придумать. Я не уверен, насколько большими числами он работает, он работал, когда я вставлял сто цифр. edit: работает только с целочисленными значениями Как посчитать количество цифр в числе?Как определить количество цифр в числе Java?Возможно, самый простой способ получить количество цифр в Integer — преобразовать его в String и вызвать метод length () Это вернет длину представления String нашего числа: int length = String. valueOf(number). length(); Как определить количество цифр в числе C#?вычисление количества цифр целого введенного числа Как определить количество разрядов в числе?Чтобы программно посчитать количество разрядов числа, необходимо последовательно его делить нацело на 10, пока это число не станет равным нулю. При этом считать количество делений. Например, дано число 345. После первого деления останется 34, после второго — 3, после третьего — 0. Как найти количество цифр между двумя числами?Таким образом, чтобы найти количество целых чисел между нецелыми положительными числами n и m (m>n), надо из целой части большего числа вычесть целую часть меньшего числа. Как узнать длину числа в Python?Длина целого числа в Python Как узнать длину числа в C#?Код к задаче: «Как узнать длину числа» Сколько цифр в int?Как найти сумму чисел в C++?Разряд является «рабочим местом» цифры в числе. Порядковому номеру разряда соответствует его вес — множитель, на который надо умножить значение разряда в данной системе счисления. Диапазон значений для всех разрядов (в данной системе счисления) неизменен. Как найти середину между двумя числами?Чтобы найти среднее арифметическое двух чисел, надо сложить эти числа и результат поделить на 2: (2 + 5):2=3,5. Как рассчитать процентное соотношение между двумя числами?a — значение первого числа; b — величина второго числа. Процентную разницу можно рассчитать с помощью онлайн калькулятора, что значительно сэкономит вам время. Извлечение цифр int в JavaТак что если у меня есть введенное целое число: Как я смогу проанализировать число и получить 1, 2 и 8 и назначить их различным переменным? 13 ответовнеэффективный способ сделать это, чтобы преобразовать целое число в строку и перебирать строку символов. более эффективным способом было бы что-то вроде: ответ, который написал Тило, хорош, но неполон, вы начинаете делать: Теперь digits содержит цифры числа в виде массива int превратить его в строку и перейти символ за символом для цифр: конечно, если целое число имеет более трех цифр, использование цикла было бы более практичным: с вышеуказанным кодом на месте, легко извлечь цифры из массива: соберите все цифры в массиве и используйте futher выход должен быть!—3—> вот чисто математический способ сделать это: не так красиво, но работает! вы можете получить 1,2,8 от этого str этот код возвращает nibble по заданному индексу. Если вы хотите получить все цифры, вы можете вызвать этот метод со всеми показателями вашего номера. Он работает не на шестнадцатеричном представлении числа,а на десятичном. теперь, если вы пытаетесь выделить числа в строке среди букв, это должно позаботиться об этом. Это должно возвратить 110 кроме того, вот ссылка на обсуждение стека, которое я нашел действительно полезным. получить int из строки, также содержащей буквы, в Java Если вы не цените идею String преобразование и хотите повторить, используя нормальный порядок, попробуйте следующее:
|