[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [locale] strcoll() в glibc 2.2



>>>>> "EBB" == Eugene B Byrganov <E.B.Byrganov@inp.nsk.su> writes:

>> Что касается LC_NUMERIC, то мешает отсутствие в языке C функций
>> конвертации чисел в строки, НЕ использующих locale.

EBB> ????  Как раз по умолчанию printf игнорирует LC_NUMERIC!!!  И только
EBB> сознательно добавив нужный флаг получишь locale зависимый результат:

Это только для "группировки тысяч", то бишь записи миллиона в виде
"1,000,000".

Попробуй тривиальную программку

#include <stdio.h>
#include <locale.h>

int main () {
    setlocale(LC_ALL, "");
    printf("%f\n", 3.1415926);

    exit(0);
}

и все увидишь. 

EBB>        The five flag characters above are defined in the C stan╜ dard.
EBB> The SUSv2 specifies one further flag character.

EBB>        ' For decimal conversion (i, d, u, f, F, g, G) the output is to
EBB> be grouped with thousands' grouping characters if the locale
EBB> information indicates any.  Note that many versions of gcc cannot
EBB> parse this option and will issue a warning.  SUSv2 does not include
EBB> %'F.

Так что вот. 

--alexm