|
|
|
Непонятная шляпа с округлением
|
|||
|---|---|---|---|
|
#18+
Версия Delphi 11.0.2627.5503 Клиент взаимодействует с кассовым аппаратом Штрих-М Вот так аппарату передается количество товара [ Код: pascal 1. В некоторых случаях почему то округление не происходит. То есть аппарату должно передаться например кол-во 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-шки. Жалобы на подобную ошибку есть только от нескольких точек, хотя возможно на других просто не было подобных ситуаций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 11:47 |
|
||
|
Непонятная шляпа с округлением
|
|||
|---|---|---|---|
|
#18+
арт2010, Код: pascal 1. Вот это Double? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 11:49 |
|
||
|
Непонятная шляпа с округлением
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, тупанул. Похоже все округляется правильно. Проблема в другом, буду разбираться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 11:54 |
|
||
|
Непонятная шляпа с округлением
|
|||
|---|---|---|---|
|
#18+
арт2010Но не уверен что поможет в моей ситуации. Не поможет. 0.333 в принципе не представимо в двоичном формате. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 11:55 |
|
||
|
Непонятная шляпа с округлением
|
|||
|---|---|---|---|
|
#18+
арт2010, так же стоит напомнить, что RoundTo -- это банковское округление (сумма будет округлена как в плюс так и в минус в зависимости от четности), а вот математическое же округление в большую сторону -- это SimpleRoundTo. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 12:19 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39691620&tid=2040498]: |
0ms |
get settings: |
8ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 521ms |

| 0 / 0 |
