问题描述
朋友,我有输入要输入产品的价格。我使用掩码来设置值的格式,但是只有数字保存在数据库中。没有任何字符。
12345 , 123456 。
我正在尝试使用number_format()在PHP中格式化它。我已经尝试过money_format(),但是它总是返回错误。
两个出口分别为: 123,45 和 1.234,56
我正在使用:
<?= number_format($product->price,","."); ?>
但是他返回了: 12.345 和 123.456
如果有人可以分析,我非常感谢。欢迎任何评论。
price字段是varchar,但我也尝试过double和float。
解决方法
如果我理解正确,那么您是从一个varchar开始的,因为它没有“。”,所以它将被评估为整数。其中的最后两个数字是您的小数位数(分)。
因此,首先将整数除以100,然后应用数字格式:
number_format($product->price / 100,",".");