это превратить в true?
Не прибегая к tostring
Судя по контексту, планируется работа с какими-то финансами, а для этого обычно используется десятичная арифметика с фиксированной точкой ("fixed-point", "decimal"). Стоит поискать по этим ключевым словам, и/или самому написать простенький класс с базовыми операциями, где числа представляются в виде "целочисленных" мантиссы + экспоненты: 1.2 = 12 * 10^(-1) = {12, -1} https://www.tarantool.io/ru/doc/latest/reference/reference_lua/decimal/ http://lua-users.org/lists/lua-l/2007-10/msg00391.html
Мне просто стало интересно разобраться с этим, без учёта епсилон. Потому что я не особо понимаю, насколько безопасна к примеру такая запись прям для всех x64 local a = 0.6 local b = 0.5 local double_epsilon = 2^-52 print((a - 0.1) + double_epsilon == b + double_epsilon)
Обсуждают сегодня