Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Igor Mikhailov                       2:5005/42.21   26 Sep 2000  05:41:40
 To : Artem Chuprina
 Subject : Mason
 -------------------------------------------------------------------------------- 
 
 password: :-P
 
  IM>>> Так вот эта ошибка вылечилась у меня простым занесением 0.8 в
  IM>>> кавычки:    return '0.8';
  MS>> Это Джонатан Шварц все забывает исправить этот глючок.
  MS>> Проявляется, когда локаль не английская (а именнно разделитель
  MS>> десятичной дроби не точка)
  AC> Да, настоятельно рекомендуется таки ставить локаль так, чтобы
  AC> разделитель десятичной дроби был точкой (LC_NUMERIC=C). И чтобы дату
  AC> отдавал по-английски (LC_TIME=C). А то глюков не оберешься.
 
 Предлагаю это в FAQ.
 
  AC>  У нас вот недавно перл из-за setlocale(LC_ALL,'ru_RU.KOI8-R')
  AC> отказался умножать на 0.01. Во была песня, пока нашли...
 
 Хорошо, а почему у меня:
 % locale
 LANG=ru_RU.KOI8-R
 LC_CTYPE="ru_RU.KOI8-R"
 LC_NUMERIC="ru_RU.KOI8-R"
 LC_TIME="ru_RU.KOI8-R"
 LC_COLLATE="ru_RU.KOI8-R"
 LC_MONETARY="ru_RU.KOI8-R"
 LC_MESSAGES="ru_RU.KOI8-R"
 LC_ALL=
 
 Hо
 -------------------------
 use locale;
 use POSIX qw (locale_h);
 setlocale(LC_ALL,'ru_RU.KOI8-R');
 print scalar(localtime),"\n";
 print 0.9*0.1,"\n";
 
 -----------------------------
 Tue Sep 26 05:30:37 2000       # по англ. почему?
 0,09                           # здесь с запятыми. и проблем при компиляции #
 нету. почему же в мазоне есть?
 -----------------------------
 А так :
 ----------------------------
 use locale;
 use POSIX qw (locale_h);
 setlocale(LC_ALL,'ru_RU.KOI8-R');
 setlocale(LC_NUMERIC,'C');
 print scalar(localtime),"\n";
 print 0.9*0.1,"\n";
 -------------------------------
 Tue Sep 26 05:31:51 2000        # все также, почему?
 0.09                            # здесь нормально.
 ------------------------------
 
 И кстати, в плане оффтопика: mysql сортирует неправильно koi8r строки. Моя
 локаль выше. Скомпилен mysql не так, или я что то не так делаю (как у него
 узнать параметры компиляции)? Hикаких телодвижений для того, чтоб он выдавал мне
 все правильно я не делаю. Просто делаю запрос с order by name - возвращает не
 правильно. Причем даже в своем консольном клиенте.
 mysql  Ver 9.35 Distrib 3.22.26a, for pc-linux-gnu (i686)
 
 With best wishes Igor.
 
 --- GoldED/LNX 3.0.1
  * Origin: Ох, тяжелая это работа - почту тащить у нода! (2:5005/42.21)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Mason   Artem Chuprina   25 Sep 2000 13:27:26 
 Mason   Igor Mikhailov   26 Sep 2000 05:41:40 
 Re: Mason   Artem Chuprina   03 Oct 2000 16:34:51 
Архивное /ru.cgi.perl/326439d0373a.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional