格式化货币值时出错-Cakephp 3

问题描述

朋友,我有输入要输入产品的价格。我使用掩码来设置值的格式,但是只有数字保存在数据库中。没有任何字符。

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,",".");