php - 内爆时数组的 round() 内容达到特定的精度水平?

标签 php

我有一个包含这样内容的数组

$numbers = array(0.49882,0.20510,0.50669,0.20337,0.45878,0.08703,0.43491,0.74491,0.26344,0.37994);

我需要将上述数组implode() 转换成一个字符串,每个数字都四舍五入到 2 位精度。

由于数组中可能有数百个数字,我如何以最有效的方式实现这一点?

最佳答案

你可以使用 array_map()implode() 之前:

$numbers = array(0.49882,0.20510,0.50669,0.20337,0.45878,0.08703,0.43491,0.74491,0.26344,0.37994);
$serial = implode(',', array_map(function($v){return round($v,2);}, $numbers)) ;
echo $serial ; // 0.5,0.21,0.51,0.2,0.46,0.09,0.43,0.74,0.26,0.38

或者使用number_format():

$serial = implode(',', array_map(function($v){return number_format($v,2);}, $numbers)) ;
// 0.50,0.21,0.51,0.20,0.46,0.09,0.43,0.74,0.26,0.38

关于php - 内爆时数组的 round() 内容达到特定的精度水平?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48734032/

相关文章:

php - 使用 Symfony 框架的生产服务器上的用户登录失败(由于...无法处理身份验证请求)

Php 邮件功能不以 html 格式发送

php - PHP-从字符串查找URL根的最佳方法?

javascript - 我真的必须重新加载我的页面两次吗?

php - 关于 Centos/PCI DSS 合规性的 CVE-2011-1092

php - 让 pdo_mysql 驱动程序在 CLI 中工作

php - 从服务器下载的 .exe 文件损坏

php - 将 mysql_query 转换为 PDO 语句

php - 使用 openssl_private_decrypt 解密将不起作用,因为文本正在存储撇号

php - 在 AWS Elastic Beanstalk Multidocker 容器上使用数据库容器或 RDS 数据库