![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
товарищи, есть таблица с такими полями: tarif float(12,2), komm float(12,2)
требуемо обновить значения в ней одним запросом по следующей формуле: komm = tarif * $procent, где $procent - число типа 0,037 проблема в округлении. вопрос таков - округлит ли до двух знаков mysql число по правилам? если да, то верен ли запрос:
|
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 4 Всего: 91 |
А не легче это просто протестировать?
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
да это я просто в запарке был. помятуя о случае, когда долго боролся с replace то и запостил вопрос, чтоб если что
но, из-за того что в город вводят войска, конец рабочего дня сместили и всё-таки переместили решение задачи на завтра |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 7 Всего: 67 |
ROUND по религиозным причинам отпадает? )
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
нет, совешенно не отпадает. религия ждёт откровения
собсна, может round и подошла бы, ибо
даёт 155.03 однако в запросе обновления:
получаем в итоге 155.02 по факту, такой результат я получаю и без использования round, т.к. ячейка komm - float(12,2) и там автоматом округляется вот такие вот пироги |
||||
|
|||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
bars80080, Дела денежные, imho, требуют целочисленной арифметики. Правильнее держать деньги не в float'е, нарываясь на странные и непредсказуемые округления, а в целых (копейках, центах). Да и бухгалтерские округления иногда отличаются от арифметических...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
ну, в этом ключе можно далеко зайти. остатки от деления копеек тоже ведь куда-то должны деваться? получается можно и обогатиться.
впрочем, я не банковскую прогу пишу, а отчётность. в крайнем случае, все нестыковки можно утрясти через взаимные претензии. считать просто удобнее. однако, возьмём на заметку для будущих свершений |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
bars80080, Ну да. К примеру, товар в корзинку грузит покупатель. Нагрузил 10 наименований и выписывает счет.
НДС с суммы сделки - 18% магазин обязан выплатить государству. А можно начислять НДС не с суммы сделки, а с каждого товара по отдельности, а потом их всех суммировать. Таким образом, появляется элегантная возможность использовать цены вида "1 рупь 97 копеек" для вполне законного обувания государства. 1.97*0.18 ~ 35 копеек, в то время как 1.98*0.18 = ~ уже 36 копеек. Если купить 10 таких товаров, то по одной схеме расчета получится НДС(10*1.97)=3.55 руб, по другой формуле 10*(НДС(1.97))=3.50 руб. 5 копеек с ~20 рублёвой сделки - чистая и необлагаемая налогом прибыль предприятия ![]() Впрочем, такие финты уже давно описаны в бухгалтерских документах. Бухгалтерия - штука точная... ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |