我有一个价格数据库,它以浮点数的形式存储数字。这些都是在网站上展示的。价格可以采用这种格式。
x.x (e.g. 1.4)
x.xx (e.g. 1.99)
x.xxx (e.g. 1.299) <-- new price format我以前使用字符串格式或%.2f将价格标准化为小数点后两位,但现在我也需要显示3位,但前提是价格是小数点3位长。
e.g. 1.4 would display 1.40
1.45 would display 1.45
1.445 would display 1.445上述格式将是给定输入的期望输出。
使用%.3f显示全部为3位数字。
e.g. 1.4 would display 1.400
1.45 would display 1.450
1.445 would display 1.445 但这不是我想要的
也就是说,任何数字都应该显示2小数位,如果它有0 1或2小数位,如果它有3小数位或小数点以上,它应该显示小数3位。
发布于 2014-09-06 19:40:11
我会把它格式化成三个位置,然后修剪最后的0。
$formatted = number_format($value, 3, ".", "");
if (substr($formatted, -1) === "0") $formatted = substr($formatted, 0, -1);发布于 2014-09-06 19:35:27
用这个家伙
number_format($data->price, 0, ',', '.');http://php.net/manual/en/function.number-format.php
发布于 2014-09-07 11:33:24
这是我所做的,因为我需要处理一些特殊的情况,我在应用程序。
谢谢你的帮助..。
https://stackoverflow.com/questions/25703878
复制相似问题