| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > проблема sprintf под mod_perl |
| Автор: myth777 22.12.2010, 14:14 |
| Перевели сайт на mod_perl вобщем sprintf("%.2f",100) выдает 100,00 а хотелось бы чтоб выдавал 100.00 почему вместо точки выводиться запятая? и что делать? |
| Автор: sir_nuf_nuf 22.12.2010, 14:23 | ||||
| проблема с локалью. Вывод чисел с плавающей точкой зависит от текущей локали. Решение: 1) Узнайте какая локаль установлена:
2) Установите нужную вам локаль
|
| Автор: myth777 22.12.2010, 14:35 |
| Это выводит на отладочном сервере, где всё работает LC_CTYPE=ru_RU.utf8;LC_NUMERIC=C;LC_TIME=ru_RU.utf8;LC_COLLATE=ru_RU.utf8;LC_MONETARY=ru_RU.utf8;LC_MESSAGES=ru_RU.utf8;LC_PAPER=ru_RU.utf8;LC_NAME=ru_RU.utf8;LC_ADDRESS=ru_RU.utf8;LC_TELEPHONE=ru_RU.utf8;LC_MEASUREMENT=ru_RU.utf8;LC_IDENTIFICATION=ru_RU.utf8 а ru_RU.KOI8-R это на конечном, где нихрена не работает.... Это надо конфиг апачевский как то настраивать? |
| Автор: ginnie 23.12.2010, 13:03 | ||
myth777, для того, чтобы выводилась точка я использую
|
| Автор: myth777 23.12.2010, 15:27 |
| в стартовом скрипте из апача(PerlRequire) я сделал BEGIN { $ENV{"LC_ALL"}='C';}; и все везде заработатло. всем спасибо! Добавлено через 7 минут и 14 секунд ну да, достаточно LC_NUMMERIC было просто установить в "с" BEGIN { $ENV{"LC_NUMERIC"}='C';}; |