floor — Как округлить дробную часть переполнения стека

У меня есть какое-то значение, как 2.3, 3.6,3.8 Теперь я хочу получить значение как ближайшую дробь.

предполагать

когда значение 2.3 тогда измененное значение будет 2.5
когда значение 2.2 тогда измененное значение будет 2

0

Решение

Я так понимаю, что вы хотите округлить до ближайшего «полуцелого».
Если так, то вы можете использовать round() функция, но с небольшими модификаторами.

Так как round() возвращает только целые числа, вам нужно изменить свое значение перед округлением и снова после округления в обратном порядке, чтобы оно заработало.

Поскольку вы хотите округлить до 0,5, что равно 1/2, вам нужно сначала умножить свое значение на 2, а затем разделить его обратно.

Таким образом, картина здесь:

$roundedVal = round($origVal*2)/2;

И примеры из вашего вопроса:

var_dump(round(2.3*2)/2); //2.5
var_dump(round(2.2*2)/2); //2.0
1

Другие решения

Вам нужно изучить PHP функцию round () и ее необязательные флаги.

$myValue = -5;

echo abs($myValue);   //outputs 5
0

По вопросам рекламы [email protected]