Maison  >  Article  >  développement back-end  >  PHP处理金额(代码实例)

PHP处理金额(代码实例)

PHPz
PHPzoriginal
2016-07-20 11:07:391421parcourir

涉及到金额的代码,一定要谨慎处理。刚好最近做了相关的功能,下面大概说一下。【推荐教程:php视频教程

f1c6296d71b1b2db27e3886d65efbcab_1200x500.jpg

   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);
}


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn