![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
"Как программировать на С", с 137. Дан совет не использовать double и float для вычислений, связанных с денежными суммами, а использовать целые числа для этих операций, но пример этого где-то в упражнениях, не могу найти. Кто-нибудь может привести пример?
Это сообщение отредактировал(а) lv151 - 28.1.2009, 21:37 |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 7 Всего: 60 |
||||
|
||||
stat007 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 521 Регистрация: 9.10.2008 Репутация: -2 Всего: -4 |
Fazil6,
![]() ![]() |
|||
|
||||
DragoonFighter |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 16.7.2007 Где: Access denied Репутация: нет Всего: нет |
Если вам не нужно работать с double, то работайте с int:
--------------------
Зрелость личности - это не когда человек хочет умереть ради кого-то, а когда он хочет жить ради кого-то. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
а так не надежней ?
|
|||
|
||||
DragoonFighter |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 16.7.2007 Где: Access denied Репутация: нет Всего: нет |
Да, так лучше, но смотря для чего это нужно, если создать книгу записей, и каждый день закидывать разные суммы, например то 10 с лишним то 1000 с лишним рублей, то лучше вводить отдельно, или:
Это сообщение отредактировал(а) DragoonFighter - 28.1.2009, 23:13 --------------------
Зрелость личности - это не когда человек хочет умереть ради кого-то, а когда он хочет жить ради кого-то. |
||||||
|
|||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
DragoonFighter |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 16.7.2007 Где: Access denied Репутация: нет Всего: нет |
Пример в том что ваш пример работает только если у нас 100 рублей и 50 копеек, а если у нас 1000 рублей и 50 копеек то нужно делить на 1000 а не на 100. Поэтому если я имею 100 рублей сегодня, то в программке пишу 100 а если завтра 1000 то пишу 1000 (с копейками). if(рублей больше чем 100) то разделить на 100 if(рублей больше чем 1000) то разделить на 1000 --------------------
Зрелость личности - это не когда человек хочет умереть ради кого-то, а когда он хочет жить ради кого-то. |
||||
|
|||||
pan2004 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 2 Всего: 9 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
неа.. всегда одинаково. в переменной k, мы храним валюту в копейках, для этого рубли умножаем на 100 и прибавляем копейки. а для вывода наоборот, все копейки делим на 100 и получаем кол-во целых рублей, ну а остаток -оставшиеся копейки ![]() Это сообщение отредактировал(а) mes - 28.1.2009, 23:45 |
|||
|
||||
DragoonFighter |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 16.7.2007 Где: Access denied Репутация: нет Всего: нет |
Ай тфу блин, жопой подумал, извините!
![]() Всем пока! P.S.: Было интересно! Хотя сам автор не отвечает... --------------------
Зрелость личности - это не когда человек хочет умереть ради кого-то, а когда он хочет жить ради кого-то. |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
Копейки нужно писать двумя цифрами. Не помню как это пишется в iostrem, в stdio:
Это сообщение отредактировал(а) math64 - 29.1.2009, 09:52 |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Понял, спасибо.
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
Понимаю что не С, но так к сведению в С++ Builder есть двоично десятичный тип Currency, в котором числа представлены как xxxxxxx.xx т.е. он тип с фиксированной точкой, который не теряет точности. Специально для финансовых вычислений.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 0 Всего: 13 |
Пример чего? Храни не рубли, а копейки - float и double не понадобятся. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |