美文网首页
PHP 处理金额

PHP 处理金额

作者: haoyq | 来源:发表于2018-06-23 10:01 被阅读0次

导语

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

存储

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浮点数你应该知道的(All ‘bogus’ about the float in PHP)PHP浮点数的一个常见问题的解答BC Math

相关文章

  • PHP 处理金额

    导语 涉及到金额的代码,一定要谨慎处理。刚好最近做了相关的功能,下面大概说一下。 存储 PHP 的浮点数是不能精确...

  • RFM用户类数据分析

    处理重复值 处理时间 处理购买总金额

  • 【laravel:5.1】Pagination

    Paginator.php // 处理简单分页 LengthAwarePaginator.php // 处理复杂...

  • php学习笔记(六)

    PHP异常处理 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过thro...

  • kams-金额处理

    格式化 十位前端显示两位 根据小数点后第三位四舍五入

  • 金额处理的正则

    将输入的字符串转化为合法金额 不允许数字和点之外的字符。 金额头不允许多个0。 如果金额大于1,不能以零开头。 如...

  • 提现金额 处理、

  • Udemy网站课程9-PHP

    PHP维基简介 PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)...

  • php01—入门

    1.什么是php? 官方解释:php(PHP Hypertext Preprocessor)又叫php超文本预处理...

  • PHP学习笔记 - 进阶篇(10)

    异常处理 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过...

网友评论

      本文标题:PHP 处理金额

      本文链接:https://www.haomeiwen.com/subject/xnwxyftx.html