#php
Каким образом обрезать число до сотых, не округляя его? echo number_format(0.65999, 2, '.', ''); // 0.66, Округлило echo "\n"; echo intval(0.65999 * 100) / 100; // 0.65, Не округлило echo "\n"; echo intval(0.29 * 100) / 100; // 0.28, Округлило Перепробовал многие варианты из интернета, везде округление было ни на одном числе, так на другом. Есть какое-то нормальное решение или без собственной функции не обойтись? https://ideone.com/qm7YUE
Ответы
Ответ 1
Используйте библиотеку BCMath и ее функцию bcdiv: echo bcdiv(0.65999, 1, 2); // 0.65 Ну, и как вариант, можно использовать preg_replace: echo preg_replace('/\.\d{2}\K.+/', '', 0.65999); // 0.65Ответ 2
Есть функции ceil и floor: printf('%05.2f', floor(0.65999*100)/100); отсекаем дробную часть после умножения на сто и делим
Комментариев нет:
Отправить комментарий