Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Курсы валют » 03.01.2020 09:17:03

всё-таки цены лучше хранить как decimal!Всё-таки лучше как integer, с decimal тебя ждёт очень весёлое будущее с округлением "копеек" вниз и вверх, т.к. это приближённые вычисления. Говорю по собственному опыту. В интернете много статей на эту тему.Довольно коротко и понятно об этом написано в доке PHP:Кроме того, рациональные числа, которые могут быть точно представлены в виде чисел с плавающей точкой с основанием 10, например, 0.1 или 0.7, не имеют точного внутреннего представления в качестве чисел с плавающей точкой с основанием 2, вне зависимости от размера мантиссы. Поэтому они и не могут быть преобразованы в их внутреннюю двоичную форму без небольшой потери точности. Это может привести к неожиданным результатам: например, floor((0.1+0.7)*10) скорее всего вернет 7 вместо ожидаемого 8, так как результат внутреннего представления будет чем-то вроде 7.9999999999999991118....

Тут ошибка. floor принимает на вход float, а вы ему суете int. Так что кто не знает php - идут лесом. В decimal нормально хранить

Подвал раздела