Код на PHP для функции потолка
Кто-нибудь когда-нибудь программировал функцию PHP (или Perl) для получения максимального значения в стиле Excel?
3 ответа
Это должен быть ответ, из комментариев php.net:
// MS Excel function: Ceiling( number, significance )
// duplicates m$ excel's ceiling function
if( !function_exists('ceiling') )
{
function ceiling($number, $significance = 1)
{
return ( is_numeric($number) && is_numeric($significance) ) ? (ceil($number/$significance)*$significance) : false;
}
}
echo ceiling(0, 1000); // 0
echo ceiling(1, 1); // 1000
echo ceiling(1001, 1000); // 2000
echo ceiling(1.27, 0.05); // 1.30
"Функция потолка в Microsoft Excel не соответствует математическому определению, а скорее как оператор (int) в C, она представляет собой смесь функции пола и потолка: для x ≥ 0 она возвращает потолок (x), а для x < 0 он возвращает floor(x). Это перешло к формату файла Office Open XML. Например, CEILING(-4.5) возвращает -5. Математическую функцию потолка можно эмулировать в Excel с помощью формулы "-INT(-value)) " (обратите внимание, что это не общее правило, так как оно зависит от функции INT в Excel, которая ведет себя не так, как большинство языков программирования)." - из википедии
Если встроенная функция ceil в php работает неправильно, вы можете создать новую функцию, например
function excel_ceil($num){
return ($num>0)?ceil($num):floor($num);
}
надеюсь, это поможет
Извините, не совсем понятно, что такое "стиль Excel", но в PHP есть функция ceil.