Звоните
Екатеринбург
Пишите
Вход Регистрация

Знаки после запятой

Написать сообщение
Сообщение будет добавлено в самый конец дискуссии
<Андрей> 10 марта 2009, 15:03#
Когда вы уже исправите то, что точность знаков после запятой одинакова для всех полей документа? У нас отказываются принимать документы с указанием суммы 25 рублей 0567 копеек.

eleomis 10 марта 2009, 16:03#
Поставьте в настройках документа точность равную 2.
<Андрей> 10 марта 2009, 16:03#
eleomis, угу и значение "количество" также станет округляться в _расчётах_ до второго знака. А там каждая десятитысячная грамма на учёт. Отобнражаться количество будет нормально, а считаться - криво.
eleomis 10 марта 2009, 17:03#
Количество в БП не округляется, округляется цена и сумма.
Приведите пример неправильного расчета.
<dav> 18 Май 2009, 21:05#
Пример могу привести я.
Допустим я задаю количество 10 а цена 0,9545 (для электричества) если точность у нас 2, то цена будет взята - 0,96 и все суммы будут с 2 знаками.
если же ставим 4 знака то цена остаётся неизменной, но вылезает в каждой сумме 4 знака после запятой. Что не есть правильно.

Хотелос бы, чтобы указав цену с 4 знаками она с 4мя и осталась. но при этом расёт что бы вёлся до коппек.
eleomis 19 Май 2009, 12:05#
<dav>, отправьте по адресу 1@375.ru образец документа с алгоритмом расчета суммы.
<dav> 26 Май 2009, 10:05#

Собственно расчёт должен быть математическим, но без отбрасывания знаков после запятой.

Допустим в программе ставим точность 2. Это по-сути означает, что точность расчёта должна быть 2 знака после запятой.
Тогда:
имеем цену = 0,9564
количество = 10
и тогда (без отбрасывания знаков после запятой но с точностью = 2) получаем: 0,9564*10 = 9,56
в случае же с программой в настоящее время, когда при установленной точности 2 знака у нас в цене отбрасывается всё, точнее округляется до второго знака, мы получаем: 0,96*10=9,60
что как мне кажется не есть верно при условии больших количеств и таких цен. потому как если количество 100000, то суммы полученные в результате умножения 100000*0,96 и 100000*0,9564 существенно разнятся.
дальнейший расчёт следует вести с математическим округлением. т.е. 9,56*1,18 = 11,28 и сумма НДС = 1,72

подытожив:

мой расчёт:

0.9564*10 = 0.95 - сумма без НДС
0,95*1,18=11,28 сумма с НДС
11,28/1,18-11,28 = 1,72 НДС
11,28-0,95 = 1,72 НДС

Ваш расчёт в нынешнем виде:

0,96*10=9,60
9,60*1,18=11,33
11,33/1,18-11,33=1,73


В случае же с точностью 4 знака - ну никуда не годится то, что суммы во всём документе с 4 знаками после запятой. Ну не бывает в бухгалтерии так. К сожалению цена бывает и с 5-ю знаками, а вот итоговые суммы должны быть с 2мя.

Поэтому в программе предлагаю вести расчёты с точностью 4 знака, но производить округление переменных на уровне программы.
т.е. брать указанную цену с 4 знаками и умножать на количество, после чего произвести округление до 2-го знака перед расчётами сумм.

Хотя если в первом варианте не будет отбрасываться знаки, то точность в 4-мя знаками и не нужна получается.

В настоящий момент использую в шаблонах такой приём - Round(Сумма*100)/100 что позволяет округлить до второго знака, и потом сумирую всё это по строкам. Получается хорошо, но иногда копейка проскакивает.. ((

Желаю удачно с этим разобраться
eleomis 26 Май 2009, 12:05#
<dav>, в ближайшее время возможность таких расчетов будет реализована.
<dav> 26 Май 2009, 13:05#
Было бы очень великолепно.
прошу прощения за опечатку в своём примере:

мой расчёт:

0.9564*10 = 9.56 - сумма без НДС
9.56*1,18=11,28 сумма с НДС
11,28/1,18-11,28 = 1,72 НДС
11,28-0,95 = 1,72 НДС
Включите отображение картинок
Подписаться на тему