如标题所述:使用该数字1000000.125685
,如何将其格式化为1,000,000.125
而不使用number_function
,因为该函数舍入了小数位?
number_format("1000000.125685",3) //returns 1,000,000.126
如何在不使用number_format
的情况下给我想要的数字“ Money Format”?
答案 0 :(得分:2)
如果在格式化之前在数字上使用floor()
,将得到您想要的。问题是floor()
舍入小数而不是“四舍五入到小数位数”。因此,这段代码执行的往返行程为* 1000,然后为/ 1000 ...
echo number_format(floor(1000000.125685*1000)/1000,3);
给予...
1,000,000.125
将其包装为一个以数字和小数位为参数的函数...
function number_format2( float $n, int $dp ): string {
$multi = pow(10, $dp);
return number_format(floor($n*$multi)/$multi,$dp);
}
echo number_format2(1000000.125685,4);