| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > sprintf: форматированный вывод денег:) |
| Автор: Rilken 25.5.2009, 18:14 |
| Товарищи, как с помощью Sprintf получить такое 9,999,999.99 , еще и выровненное по правому краю... Похожие темки все прочитаны, а ответ не найден:) Спасибо |
| Автор: Alexeis 25.5.2009, 18:37 | ||
По правому краю чего? Прямоугольника? Тогда это DrawText |
| Автор: Rilken 25.5.2009, 18:56 | ||||
Хм, выводится 9999,009,999999.99 вместо требуемого 9,999,999.99 По правому краю экрана) Но вроде эта команда по дефолту справа выводит |
| Автор: jonie 25.5.2009, 20:55 |
| http://msdn.microsoft.com/en-us/library/cyc6by18.aspx и в STL что-то было, но там как-то все было сложно с региональными настройками и локалью.. поройте по форуму, обсуждалось. |
| Автор: Rilken 25.5.2009, 23:05 | ||||||
Не заморачивайтесь, я идею поняла Добавлено через 1 минуту и 19 секунд
Спасибо за подсказку, даже не подумала про стл. Буду смотреть в эту сторону |
| Автор: Alexeis 26.5.2009, 09:24 |
| Если вы работаете в билдере, то там есть специальное решение. Во первых тип Currency, а во вторых функция Format, которая умеет форматировать "деньги" |
| Автор: Rilken 26.5.2009, 09:47 | ||
Не, у меня тут AIX, поэтому не катит:( |
| Автор: Rilken 26.5.2009, 10:34 | ||||
Кстати, а как заставить ф-цию не выводить нулевые значения первых двух параметров? Ведь если у нас будет число 2.9, то получим 0, 0, 2.9 ? |
| Автор: Alexeis 26.5.2009, 10:52 |
странно, должно быть так 0,000,002.9 ... у меня именно так и выходит. Что сказать, функция sprintf не предназначена для работы с деньгами, тут нужно искать что-то специализированное. |
| Автор: math64 26.5.2009, 12:47 | ||
|