当前位置 : 主页 > 网络编程 > PHP >

PHP 如何处理金额

来源:互联网 收集:自由互联 发布时间:2021-08-17
导语 涉及到金额的代码,一定要谨慎处理。刚好最近做了相关的功能,下面大概说一下。 存储 PHP 的浮点数是不能精确计算的,具体的可以看《关于PHP浮点数你应该知道的事情》这篇文
导语

涉及到金额的代码,一定要谨慎处理。刚好最近做了相关的功能,下面大概说一下。

存储

PHP 的浮点数是不能精确计算的,具体的可以看《关于PHP浮点数你应该知道的事情》这篇文章。所幸的是,金额一般不会有太多的小数。那么存储的时候呢,一言以蔽之,以 分 为单位进行存储。在 MySQL 中,以 int 类型存储就行了(视情况选择字段类型)。

计算

上面提到以 分 为单位存储,也就是 1 元存储为 100 分。可以使用 PHP 内置的 BC Math 系列函数进行计算。日后会再写一篇详解。

格式化金额

下面是格式化金额的实例

/**
     * 格式化金额
     * @param $price
     * @return string
     */
    public function formatPrice($price)
    {
        if (!is_numeric($price)) {
            $price = 0;
        }
        return number_format(bcdiv($price, 100, 2), 2);
    }

以上就是PHP 如何处理金额的详细内容,更多请关注自由互联其它相关文章!

网友评论