Дробные части в позициях

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
vlzSilver
Сообщения: 14
Зарегистрирован: 24 май 2018, 19:32

Дробные части в позициях

Сообщение vlzSilver » 28 дек 2018, 17:47

Добрый день.
Пишу позиционное пробитие чека
Тестирую на эмуляторе.

Вопрос следующий:
Есть позиция в количестве 2,32 и ценой 80,17
При перемножении получаем 185,9944. И так несколько позиций....
Эмулятор бьёт как и касса до 2-х знаков после запятой и вставляет скидки/наценки при том и с минусом и с плюсом для каждой позиции на всё что после 2-х знаков после запятой.
Изображение


Если рассчитать round(2,32*80,17, 2), то получаем 185,99 и по нескольким позициям выходит сдача от правильной суммы чека.
Изображение

Как правильно поступать в такой ситуации? Будет ли бить физическая касса АТОЛ по другому?
ОнЛайн сервис для интернет магазинов АТОЛ сам делает разбивку на две позиции:
Изображение

Здесь нужно самостоятельно написать алгоритм или тут только особенность эмулятора?

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Дробные части в позициях

Сообщение Audim » 28 дек 2018, 20:41

У Вас и цена дробное и количество... тут надо сами округлять, до ККТ

vlzSilver
Сообщения: 14
Зарегистрирован: 24 май 2018, 19:32

Re: Дробные части в позициях

Сообщение vlzSilver » 29 дек 2018, 10:06

Audim писал(а):У Вас и цена дробное и количество... тут надо сами округлять, до ККТ
т.е. мне надо сделать и разбивку на две позиции? потому как округлить по другому не выйдет

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Дробные части в позициях

Сообщение Audim » 29 дек 2018, 23:52

Получается что да.

Ответить