Introduction to VPS and Web Technology Development

订单金额精度处理

自由vps php

受二进制浮点数精度影响 金额在计算过程中0.3元变成0.2999.....这种格式的时候 

有以下方式

1.使用高精度函数,http://php.freehostingguru.com/group.php-5.php

2.对相应的小数转整数再转小数处理



thinkphp输出json时候 数据的精度出现问题,处理函数如下

/**
* @param $data 需要处理的数据
* @param int $precision 保留几位小数
* @return array|string
*/
function fix_number_precision($data, $precision = 2)
{
if(is_array($data)){
foreach ($data as $key => $value) {
$data[$key] = fix_number_precision($value, $precision);
}
return $data;
}

if(is_numeric($data)){
$precision = is_float($data) ? $precision : 0;
return number_format($data, $precision, '.', '');
}

return $data;
}

3.对系统精度进行设置

  1.修改php.ini文件

  2. php上设置 17位以内的精度

ini_set('serialize_precision',16);/*设置浮点数精度为16位*/
使用chatGPT寻求答案
标签: 暂无标签

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:master@freevpsweb.com

同类推荐
评论列表