这应该是答案,来自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)
"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)
希望有所帮助
| 归档时间: |
|
| 查看次数: |
4748 次 |
| 最近记录: |