php 如何用去尾法保留两位小数
黄舟
黄舟 2017-04-10 17:13:28
[PHP讨论组]

需求是财务那边提出的,我现在用的是这个
sprintf("%.2f", substr(sprintf("%.4f", $profits), 0, -2));
但是像是 19.9997 要变成19.99就做不到了。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(7)
高洛峰

JS中不就是这样做的吗?

$a= 19.9997;

echo floor($a*100)/100;

PHPz
$pos = stripos(19.9997,'.');
echo substr(19.9997,0,$pos+3);
PHP中文网

可以借助bcmath函数来处理

PHPz

bcmul(19.9997, 1, 2)

迷茫

可以考虑正则表达式

$arr = array();
$preg = 19.9997;
$mattch = "/\w+.\w{2}/";
$result = preg_match($mattch,$preg,$arr);
echo "<pre>";
print_r($arr);
echo $result;
大家讲道理

number_format

格式化成保留3位小数再去掉最后一个数字便是

怪我咯

使用number_format函数最为直接, $english_format_number = number_format($number, 2, '.', '');
// 1234.57

详细用法访问php.net官网。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号