Как стать автором
Обновить

Комментарии 32

У Лебедева в его интернет-магазине такой надо поставить :)
Интернет-магазинус® с уникальной фичей: Кассус®
Сложно все выглядит, без комментариев тем более.
>$s[$b[$kk][3]][$tmp[$i]]
убиваем мозг
понял. добавлю комментарии
И пожалуйста подсветку синтаксиса, спасибо
Биллион? По-моему мы в России живём.
я делал для Американской системы) щас исправлю
Рухнула эта система! Нет её больше!
НЛО прилетело и опубликовало эту надпись здесь
Критика: за такие названия переменных (всех, кроме $offset и $n) вам в средние века поотрывали бы руки.
будем считать это обфускацией )
но адекватных названий я придумать не смог — для временных переменных с индексами и флагами
А зачем обфускать алгоритм которым мнээ гордимся :)
ЗЫ. Тут дело даже не в умении обзывать всё своими именами, а в неумении программировать метафорически. Не комменты здесь нужны, а такой алгоритм, где не используются переменные, которые нельзя охарактеризовать (за исключением $i). Это если говорить о красивом коде, а если о функциональном, то браво, наверное это работает, если ничего не трогать.
вы правы конечно.
просто в процессе написания алгоритма, с короткими переменными было проще, так как постоянно его менял и рефакторил) а в итоговом не додумался исправить
обновил код. теперь более длинные и осмысленные названия )
Для ценников это точно неудобно, особенно с ценами больше тысячи рублей. Цифры воспринимаются проще.
функция конечно не для ценников, а для использования при печати финансовых документов, платежек и т.д.
там как раз требуется суммы писать прописью
да. на питоне красивше получается)
>«восемьсот семьдесят восемь тысяч восемьсот шестьдесят семь рублей пятнадцать копеек»
с запятыми не лучше будет?
в финансовых документах — недопускается
да я его видел. но та реализация не очень понравилась.
это и натолкнуло на создание еще одного велосипеда )
Нужно у себя где-нибудь тоже сделать переменную $sex
да — код становится чуть веселее )
$out в начале используется, а потом пропадает. Как я понимаю в место нее потом используется $o. Наверное это последствия неудачного рефакторинга.
В конце функции в регулярном выражении само выражение заключено в двойные кавычки.
\s — забекслешить можно или поставить одинарные кавычки, чтобы не вводить никого в заблуждение.

Искал такую функцию на JavaScript, ничего путёвого не нашлось. Решил портировать на CoffeeScript :)
Старался чтобы получилось 1 к 1, единственное чего не понял как сделать это sprintf, поэтому пришлось руками дописывать нули, в остальном же легко можно видеть как соотносятся строчки в php и cs.
файл на гитхабе: bit.ly/Nz3wKm
я тоже делал порт на JS. но у вас компактнее получилось )
runcore Большое спасибо!
+1 вам к карме
К счастью, с версии 5.3.0 велосипеды больше не нужно писать:
<?php
$f = new NumberFormatter("ru", NumberFormatter::SPELLOUT);
echo $f->format(123456);// сто двадцать три тысяч четыреста пятьдесят шесть
сто двадцать три тысяч четыреста пятьдесят шесть

Вы считаете это склонением верным?

..."Целых", а не "рублей".
"Четыре десятых", а не "сорок копеек".

Спасибо за функцию, пригодилась. Есть еще пост на хабре, где товарищ обещал сделать лучше, но там числа вроде 130800 неправильно переводит.
Ваш вариант рабочий)
Пожалуйста!
Рад что есть польза
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории