2016-09-18 50 views
1

我在過去的3個小時內對着辦公桌敲了敲頭,發現很難正確匹配值。將MS Excel CEILING forumla轉換爲PHP

我有一個Excel公式例如

=CEILING(8/2,0.5) 

如何將其轉換爲PHP。我曾嘗試下面的函數從該link但不能正常工作

function ceiling($number, $significance = 1){ 
    return (is_numeric($number) && is_numeric($significance)) ? (ceil($number/$significance)*$significance) : false; 
} 

我也曾嘗試Ceil功能。與上述相同,無法正常工作。與Excel相比,我的值不匹配。

+0

你有沒有工作的例子(輸入,期望輸出和實際輸出)? – Bryan

+1

在您提供的鏈接中,嘗試steve_phpnet提供的「綜合」功能。 – eshwar

回答

1

這應該適合你。不知道是否需要很多解釋...它只是計算$ multiple並從那裏取整一個整數並乘以number參數。這將模仿Excel的天花板功能。

function ceiling($number, $significance){ 
    $multiple = $number/$significance; 
    $remainder = $number % $significance; 

    if($remainder == 0){ 
    $result = $number; 
    }else{ 
    $result = ceil($multiple) * $significance; 
    } 
    echo "\nceiling($number, $significance)"; 
    echo "\nmultiple = $multiple"; 
    echo "\nremainder = $remainder"; 
    echo "\nresult = $result\n"; 

    return $result; 
}