PHP number_format是四舍五入的?
作者:互联网
我有一个价格“0,10”或“00000,10”
现在,当我尝试
number_format($price, 2, ',', '')
我得到0,00.
我怎样才能解决这个问题?我想要0,10美元.
我不想舍入.
或者当我有5,678时,我得到5,68.但我想要5,67.
解决方法:
在使用floor向下舍入之前,您可以增加数字的大小:
$price = floor($price * 100) / 100;
$formatted = number_format($price, 2, ',', '');
另一种解决方案,它可以提供更好的精度,因为它避免了浮点运算,是用三位小数格式化它并丢弃格式化后的最后一位数:
$formatted = substr(number_format($price, 3, ',', ''), 0, -1);
标签:php,rounding,number-formatting 来源: https://codeday.me/bug/20191005/1857834.html