parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

BUG: Странное поведение eval

nkostya 19.03 13:48 / 19.03 13:48

Вводные:
parser 3.4.4
Проверялось на Mac 10.14.3 & Debian 4.9.51-1
$d(3473.225)
^eval($d * 1)[%.2f] =?= ^eval(^math:round($d * 100) / 100)

$d(3473.235)
^eval($d * 1)[%.2f] =?= ^eval(^math:round($d * 100) / 100)
Ожидаю получить:
3473.23 =?= 3473.23
3473.24 =?= 3473.24
Получаю:
3473.22 =?= 3473.23
3473.24 =?= 3473.24
Подразумеваю, что все дело в представлении чисел внутри.
Но почему алгоритмы округления у eval & round отличаются?

Но тогда вопрос, как правильно работать. Всегда делать округление самостоятельно?

  • BUG: Странное поведение eval, nkostya 19.03 13:48 / 19.03 13:48