[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