用于天花板功能的PHP代码

1 php excel perl ceil

有没有人编写过PHP(或Perl)函数来获取Excel样式的上限值?

Sup*_*iji 8

这应该是答案,来自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
Run Code Online (Sandbox Code Playgroud)


Jac*_*cob 7

"Microsoft Excel的上限函数不遵循数学定义,而是与C中的(int)运算符一样,它是floor和ceiling函数的混合:对于x≥0,它返回ceiling(x),而x <0返回floor(x).这后面是Office Open XML文件格式.例如,CEILING(-4.5)返回-5.可以使用公式"-INT(-value)在Excel中模拟数学上限函数)"(请注意,这不是一般规则,因为它取决于Excel的INT函数,其行为与大多数编程语言不同)." - 来自维基百科

如果php内置的ceil函数不能正常工作,你可以创建一个新的函数

function excel_ceil($num){
    return ($num>0)?ceil($num):floor($num);
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助