-
-
Обсуждения на сайте Альта-Софт
-
Проблема с округлением
Модераторы: Renat, Gala, alta_olg, expert, Lemur
Проблема с округлением
Возникла проблема при расчете транспорных расходов (в ДТС) программа при пересчете с Евро на рубли считает только по 2 знакам, что в некоторых случаях приводит к неверному расчету стоимости. В случае если я в настройках ставлю расчет по 4 знакам то и на печать выводится 4 знака.
- Nick
- Аксакал
- Сообщения: 734
- На форуме: c 02 фев 2005
- Откуда: Альта-Софт, Программист
Сказал: 13 ед.
Получил: 124 ед.
Получил: 124 ед.
Уточните поподробнее, в чём именно ошибка. В гр.* цена идёт с 4 знаками? Или надо итоговую стоимость с 4 знаками? Пришлите, пожалуйста, пример.
Вообще как правило АРИФМЕТИЧЕСКИ невозможно добиться сходимости до копейки и в рублях, и в валюте и суммы, и каждого товара. Ошибки округления неизбежны. Так что при любом расчёте точно сходится только одна из перечисленных величин...
Вопрос в том, какой порядок расчёта/округления ваша таможня считает правильным. На расчёт ругается АИСТ или таможенник с калькулятором?
Вообще как правило АРИФМЕТИЧЕСКИ невозможно добиться сходимости до копейки и в рублях, и в валюте и суммы, и каждого товара. Ошибки округления неизбежны. Так что при любом расчёте точно сходится только одна из перечисленных величин...
Вопрос в том, какой порядок расчёта/округления ваша таможня считает правильным. На расчёт ругается АИСТ или таможенник с калькулятором?
к примеру: в ДТС в графе расчета тр. расходов. стоимость в евро17.94 по курсу 35,9724 будет 645,3448 т.е. округлив по четырем знакам получается 645,35 а программа дает 645,34 с одной стороны мелочь но...просто каждый раз проверяя гтд на правильность расчета тр. сталкиваешся с тем что прибавив к там. стоисоти транспорт не идет неск. копеек.. аист не ругается а таможню это раздражжает
С какой стати .35, когда .34?
"Правила математического округления в десятичной системе:
Число округляется до N-ого знака в зависимости от N+1 знака:
- Если N+1 знак <5, то N-ый знак не меняется, а N+1 и все последующие обнуляются.
- Если N+1 знак ≥5, то N-ый знак увеличивается на единицу, а все знаки начиная с N+1 обнуляются."
"Правила математического округления в десятичной системе:
Число округляется до N-ого знака в зависимости от N+1 знака:
- Если N+1 знак <5, то N-ый знак не меняется, а N+1 и все последующие обнуляются.
- Если N+1 знак ≥5, то N-ый знак увеличивается на единицу, а все знаки начиная с N+1 обнуляются."