这将适用于您:
$x = '31497230840470473074370324734723042.9';
bcscale(100);
var_dump(bcFloor($x));
var_dump(bcCeil($x));
var_dump(bcRound($x));
function bcFloor($x)
{
$result = bcmul($x,'1',0);
if ((bccomp($result,'0',0) == -1) && bccomp($x,$result,1))
$result = bcsub($result,1,0);
return $result;
}
function bcCeil($x)
{
$floor = bcFloor($x);
return bcadd($floor,ceil(bcsub($x,$floor)),0);
}
function bcRound($x)
{
$floor = bcFloor($x);
return bcadd($floor,round(bcsub($x,0);
}
基本上,它通过乘以零精度找到浮标.
然后它可以通过从总计中减去总数来调用内置函数,然后再重新添加结果来做细节/圆
编辑:固定为-ve数字