用于天花板功能的PHP代码

时间:2008-09-18 00:09:18

标签: php excel perl ceiling

任何人都编写过PHP(或Perl)函数来获取Excel样式的上限值吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:7)

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

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

这样的新函数
function excel_ceil($num){
    return ($num>0)?ceil($num):floor($num);
}

希望有所帮助

答案 2 :(得分:2)

很抱歉,不太清楚'Excel风格'是什么,但PHP有ceil功能。