![]() |
|
Модераторы: bsa |
![]()
|
|
| suxxor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
Есть число 1000000, нужно его отформатировать в 1,000,000
В общем, нужно создать аналог функции number_format (PHP) Я написал что-то близкое (и оно даже работает), но нужно её максимально упростить (самое главное сделать БЕЗ рекурсии, как в примере) или это самый оптимальный вариант
Может есть готовые решения на С++ (с использованием STL/CRT или ещё чего, только без MFC) Это сообщение отредактировал(а) suxxor - 27.7.2011, 23:36 |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
Добавлено @ 01:51 ну и перевернуть строку Это сообщение отредактировал(а) baldina - 28.7.2011, 02:20 |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
| suxxor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
О, посоны, я вас люблю!
Сделал так, вроде всё правильно, если чё не так укажите!
Это сообщение отредактировал(а) suxxor - 28.7.2011, 06:30 |
|||
|
||||
| borisbn |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
1.
сравнивать ULONGLONG на предмет меньше ли оно нуля не имеет смысла, а сам нуль чем не число ???
2.
это непринципиально, но так будет правильней. 3. И потом, я бы этот знак передавал бы в параметрах, а по-умолчанию сделал бы ',':
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||||
|
|||||||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
а вот рабочий вариант не привязанный к windows'у
http://liveworkspace.org/code/67370a62a951...ef8428df42ea5c2 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| spyswamp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 18.8.2006 Репутация: 1 Всего: 7 |
stringstream + locale и не надо никаких велосипедных циклов, вы чего.
-------------------- - why you call it beta? - cuz it's betta then nothin' |
|||
|
||||
| suxxor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
Хммм.... пример приведи borisbn, спасибо а как поступать с отрицательными числами? if(lNumber < 0) тогда сохраняем значение отрицательности и на выходе прибавляем к началу szBuffer минус, как это реализовать? Это сообщение отредактировал(а) suxxor - 28.7.2011, 11:45 |
|||
|
||||
| spyswamp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 18.8.2006 Репутация: 1 Всего: 7 |
suxxor, http://stackoverflow.com/questions/4163243...-separator-in-c читани для разгона.
Добавлено через 12 минут и 3 секунды suxxor, а потом это http://blog.p-jansson.com/2011/02/grouping...rator-in-c.html - более гибкий подход. -------------------- - why you call it beta? - cuz it's betta then nothin' |
|||
|
||||
| spyswamp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 18.8.2006 Репутация: 1 Всего: 7 |
Вот еще текст: http://en.allexperts.com/q/C-1040/2008/8/T...d-Separator.htm Хотя, тут более общая информация про всю эту байду.
-------------------- - why you call it beta? - cuz it's betta then nothin' |
|||
|
||||
| suxxor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
spyswamp, locale выдаст формат зависимый от настроек в ОС, если я не ошибаюсь
|
|||
|
||||
| spyswamp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 18.8.2006 Репутация: 1 Всего: 7 |
suxxor, ты инфу по ссылкам почитал (в особенность по второй)?
-------------------- - why you call it beta? - cuz it's betta then nothin' |
|||
|
||||
| suxxor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
да короче, трудно мне с шаблонами STL работать, очень трудно ;(
По мне лучше этот вариант Это сообщение отредактировал(а) suxxor - 28.7.2011, 14:40 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Если трудности вызваны не запретом начальства, то стоит взять книжку и почитать о STL. Нет в нем ничего сложного. Просто подход несколько неожиданный для классического программиста. Это сообщение отредактировал(а) bsa - 29.7.2011, 11:38 |
|||
|
||||
| suxxor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
bsa, проблем начальством нет - потому что начальства нет... Учу по книге STL для профессионалов от Николая Джусьютиса, всё никак ниасилю
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |