我的MySQL表中有一个DOUBLE数据类型列,我的值为:
14.5299
但PHP number_format
将该值舍入为:
14.5300
如果我只是echo 14.5299
,则输出:
14.53
如果不在我的HTML标记中硬编码任何内容,如何输出14.5299
?
答案 0 :(得分:8)
答案 1 :(得分:3)
这对我有用:
<?php
$double = 14.5299;
echo number_format(floor($double*100)/100, 2);
?>
结果是:14.52
答案 2 :(得分:2)
$double = 14.5299;
var_dump( number_format($double, 4, '.', ',') );
...打印:
string(7) "14.5299"
......正如所料。
我的有根据的猜测是,你的号码实际上更多是9:
$double = 14.52999;
...在这种情况下,14.5300
是正确的回合方式。
答案 3 :(得分:0)
下一个功能应该有效:
function fixedNumberFormat($float, $decimals, $withFormat = true) {
$decPoint = ($withFormat) ? "," : null;
$thousandsSep = ($withFormat) ? "," : null;
return substr(number_format($float, $decimals + 1), 0, -1);
}
fixedNumberFormat(14.5299, 4);