powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Непонятная шляпа с округлением
5 сообщений из 5, страница 1 из 1
Непонятная шляпа с округлением
    #39691607
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия Delphi 11.0.2627.5503
Клиент взаимодействует с кассовым аппаратом Штрих-М
Вот так аппарату передается количество товара
[
Код: pascal
1.
FDriver.Driver.Quantity := RoundTo(Kolvo2,-3);


В некоторых случаях почему то округление не происходит.
То есть аппарату должно передаться например кол-во 0,333 но реально передается 0,33332916145181476846057571964956
или что-то близкое к этому, потому что при цене товара в 799 рублей за единицу аппарат получает 266,33 руб.
Хотя с учетом округления должен 0,333 * 799 = 266,07
В каких случаях такое вообще может быть?
Вот тут http://delphi-box.ru/roundto-simpleroundto-delphi.html советуют поменять Double на Extended
Но не уверен что поможет в моей ситуации. Подчеркну еще раз, что подобный сбой "округления"
происходит не всегда. У меня на компе при моделировании этой ситуации все работает нормально, в итоге получается 266,07
Может дело в каких-то региональных настройках? Я компилю exe-шник на 7 винде, потом он закидывается по торговым точкам, где стоят XP-шки. Жалобы на подобную ошибку есть только от нескольких точек, хотя возможно на других просто не было подобных ситуаций
...
Рейтинг: 0 / 0
Непонятная шляпа с округлением
    #39691609
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
арт2010,

Код: pascal
1.
FDriver.Driver.Quantity

Вот это Double?
...
Рейтинг: 0 / 0
Непонятная шляпа с округлением
    #39691620
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, тупанул. Похоже все округляется правильно. Проблема в другом, буду разбираться
...
Рейтинг: 0 / 0
Непонятная шляпа с округлением
    #39691621
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010Но не уверен что поможет в моей ситуации.

Не поможет. 0.333 в принципе не представимо в двоичном формате.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Непонятная шляпа с округлением
    #39691651
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

так же стоит напомнить, что RoundTo -- это банковское округление (сумма будет округлена как в плюс так и в минус в зависимости от четности), а вот математическое же округление в большую сторону -- это SimpleRoundTo.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Непонятная шляпа с округлением
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]