微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PHP中圆/厘米/一个bcmath数字?

有没有为此目的的图书馆功能,所以我不用手工和TDWTF结束的风险?
echo ceil(31497230840470473074370324734723042.6);

// Expected result
31497230840470473074370324734723043

// Prints
<garbage>
这将适用于您:
$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数字

原文地址:https://www.jb51.cc/php/132018.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐