- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
function num_digits($number)
{
$rest = floor($number / 10);
$i = 1;
while ($rest >= 1) {
$rest = floor($rest / 10);
$i++;
}
return $i;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+139.9
function num_digits($number)
{
$rest = floor($number / 10);
$i = 1;
while ($rest >= 1) {
$rest = floor($rest / 10);
$i++;
}
return $i;
}
Взято с http://www.egoholic.ru/2009/03/php.html, что за бред?
guest 08.03.2009 01:56 # 0
банальный поиск количества цифр в цифре...
Сам когда-то так делал (а может и щас бы так поступил, хотя length ом вроде проще...)
guest 08.03.2009 03:41 # +3
Сравнивать с границами диапазонов это пиздец не по пацански конечно же.
guest 08.03.2009 13:07 # 0
Не думал, что мой код заговнокодят =)
Не пойму, почему код не приемлем?
Mironor, цифра - это символ, число - это значение, не путайте=) Функция определяет кол-во разрядов(цифр) в числе.
guest 08.03.2009 13:08 # +1
Мухаха, бросай курить, ты на пхп... ; )
[code=php]
$num = 11111;
echo strlen($num);// выводит 5
[/php]
guest 08.03.2009 13:54 # 0
суть была показать новичкам в PHP, как писать собственные функции. Думаю, так будет понятнее, почему я не использовал стандартные функции. На http://www.egoholic.ru/2009/03/php.html все описано =)
guest 08.03.2009 14:13 # 0
2Egoholic: Ну, пост выше был адресован не совсем вам ; )
Если предствавить что пользователь вашего сайта выбрал пхп как свой первый язык, то ваша статья будет ему очень кстати...
(И что за метод сравнения диапазонов? О_о)
guest 08.03.2009 14:22 # 0
И сам не пойму, что это за метод такой=)))
guest 08.03.2009 18:37 # 0
guest 09.03.2009 01:16 # 0
Определяем для десятиричной системы счисления, а храним в двоичной. В курсе, что, например, 1.3 непредставимо в двоичной, как и 1/3 в десятичной? И сколько там знаков?
guest 09.03.2009 13:25 # 0
а как насчет чисел с плавоющей точкой?
[/quote]
Код читает только количество целых разрядов. Для чисел с плавающей точкой код делающий тоже самое:
guest 09.03.2009 13:27 # 0
$number = floor($number);
guest 09.03.2009 16:37 # 0
не думал что по такой простой функции возникнет так много комментариев.
guest 09.03.2009 20:00 # 0
Жизнь полна неожидонностей ; )
Если не морочить себе голову с умножением на 10 до тех пор пока чисел после точки уже не останется, то числа с плавающей точкой переводятся в прилежащий вид и трансформируются в строку...
guest 10.03.2009 10:40 # 0
а для
echo floor("-10");
что выведет?
это будет правдой?
guest 11.03.2009 11:47 # +4
а через логарифм не быстрее?