Intereting Posts
Разрешить только в строке с использованием PHP Разведывать строку, кроме окружения круглыми скобками? Шифрование Blowfish в php Лучший способ реализовать запрет после слишком много попыток входа в систему URL-адрес для кодирования URL-адреса с параметрами получения Стандарты кодирования и длина линии Запись файла изображения в базу данных как BLOB (PHP) PHP перестроение изображений: использование памяти как установить id элемента с помощью PHP dom? Как мне вызывать мои C ++-файлы через интерфейс CGI? Как установить значение по умолчанию для строки в PHP, если другая строка пуста? Кудрявые фигурные скобки или заявления о двоеточии endif в PHP – какой из них обеспечивает лучшую производительность и совместимость с кодом? CakePHP 2.0 – Как создать пользовательские страницы ошибок? Twitter, изменение защищенного статуса с помощью PHP Одиночное обновление Div с jquery Ajax и PHP

php round 2e decimal до 0 или 5

Я хочу округлить $ t 2e десятичное до 0 или 5.

if $t= 1.31; //round to 1.30 if $t= 1.32 //round to 1.30 if $t= 1.33; //round to 1.35 if $t= 1.34; //round to 1.35 if $t= 1.36; //round to 1.35 if $t= 1.37 //round to 1.35 if $t= 1.38; //round to 1.40 if $t= 1.39; //round to 1.40 

попробуйте это проверить демо

0,05 * раунд ($ t * 20)

 <?php $ts= [1.31, 1.32, 1.33, 1.34, 1.35, 1.36, 1.37, 1.38, 1.39, 1.40]; array_walk($ts, function($t){echo number_format($t, 2)."\t".number_format(0.05*round($t*20), 2)."\n";}); 

вывод,

  1.31 1.30 1.32 1.30 1.33 1.35 1.34 1.35 1.35 1.35 1.36 1.35 1.37 1.35 1.38 1.40 1.39 1.40 1.40 1.40 

Вы можете удвоить значение, чтобы вы могли округлить до 1 десятичного, затем просто разделите его на 2 снова

 $t = round(($t*2), 1) / 2;