подскажите про такое интересное поведение флага "," метода printf:
флаг "," дает следующий результат при печати:
printf("%s %,.2f", sFoo, fFoo );
vsego 1а000,00
^
почему в качестве разделителя печатается "а", а не пробел?
Пока, уважаемый. [aslav(at)inbox,ru] [ICQ 120557239] [http://aslav.obninsk.ru]
np: Titan - The power of Athlon.
YB> подскажите про такое интересное поведение флага "," метода printf:
YB> флаг "," дает следующий результат при печати:
YB> printf("%s %,.2f", sFoo, fFoo );
YB> vsego 1а000,00
YB> ^
YB> почему в качестве разделителя печатается "а", а не пробел?
Это символ \u00A0, неразрывный пробел. Все методы System.out.print* под
Windows с русской локалью работают с системной кодировкой по умолчанию Cp1251,
а ты её рассматриваешь в консоли в Dos'овской кодировке (Cp866).
Если позарез нужна консоль, то правильней примерно так:
String s = String.format("%s %,.2f", sFoo, fFoo);
System.out.write(s.getBytes("Cp866"));
Hу или в JavaSE 6 появился класс Console.
... mail/jabber: tanmatra{at}gmail{dot}com, ICQ# 223012120