Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
07.06.2016, 12:47
|
|||
---|---|---|---|
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
Как с этим бороться? если добавить round(3 * 63.03;2) получается 189.089996337891. От этого не легче. Заказчик проверяет накладные, как мне кажется, даже не на калькуляторе, а на счетах Как получить 9 копеек? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 13:00
|
|||
---|---|---|---|
|
|||
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
Quiet333, приводи явно форматы Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 13:05
|
|||
---|---|---|---|
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
\\\\, Спасибо. пробую ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 13:34
|
|||
---|---|---|---|
|
|||
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
Quiet333Как с этим бороться? если добавить round(3 * 63.03;2) получается 189.089996337891. От этого не легче. Заказчик проверяет накладные, как мне кажется, даже не на калькуляторе, а на счетах Как получить 9 копеек? 1. Код: plaintext 1.
2. Код: plaintext 1.
3. round - не бухгалтерское округление 4. Биться с бумажными накладными все равно не будет в некоторых случаях - изначально неправильно был выбран тип хранения цены. 5. Тип Currency не спасет. Вернее - спасет, если бухгалтерия спустит внятное ТЗ и инструкции по методике округления - где, на каком этапе оно должно производиться. Тогда и даблы прокатят. 6. Все это сводится к тому, чтобы или храниться в копейках, или только в рублях. Но - на это никто не пойдет. Революция, однако... Вникай в матчасть по методам округления и проблемам, связанным с этим. . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 13:41
|
|||
---|---|---|---|
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
Quiet333Как с этим бороться? если добавить round(3 * 63.03;2) получается 189.089996337891. От этого не легче. Заказчик проверяет накладные, как мне кажется, даже не на калькуляторе, а на счетах Как получить 9 копеек? Книга "Программирование на Visual Basic 6" авторы Кен Гетц, Майк Гилберт. Страница 97. Глава 2 Операции с числами. Там все про округление (доходчиво) С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 15:23
|
|||
---|---|---|---|
|
|||
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
Quiet333, похоже у вас в таблице поле с ценой имеет тип "Двойное с плавающей точкой", а то и "Одинарное...". Настоятельно рекомендую заменить на "Денежный". ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 16:39
|
|||
---|---|---|---|
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
ROI, Спасибо. Пошел читать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 16:42
|
|||
---|---|---|---|
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
Анатолий ( Киев ), Именно так. Замена на денежный поможет бороться с дробными копейками? Сейчас замена на денежный может какую-нибудь подлянку подкинуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.06.2016, 16:56
|
|||
---|---|---|---|
Почему в Access 3 * 63.03 = 189.089996337891 не понимаю |
|||
#18+
Quiet333, А можно посмотреть на всю конструкцию? Похоже, проблема в дальнейших округлениях при приведении типов. Просто Round(3*63.03,2) возвращает четко 189.09 типа Double. Точность теряется при дальнейшем приведении типов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&mobile=1&tid=1613498]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 322ms |
total: | 453ms |
0 / 0 |