【问题标题】:Error formatting monetary value - Cakephp 3格式化货币值时出错 - Cakephp 3
【发布时间】:2020-08-15 16:13:13
【问题描述】:

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

12345、123456。

我正在尝试使用 number_format() 在 php 中对其进行格式化。我试过 money_format(),但它总是返回错误。

两个出口是:123,45和1.234,56

我正在使用:

<?= number_format($product->price, 0, ",", "."); ?>

但随后他返回:12.345 和 123.456

如果有人可以分析,我很感激。欢迎任何cmets。

price 字段是 varchar,但我也尝试过 double 和 float。

【问题讨论】:

    标签: php cakephp cakephp-3.0


    【解决方案1】:

    如果我理解正确的话,你是从一个 varchar 开始的,因为它没有“.”,所以它会被评估为一个整数。在其中,最后 2 个数字是您的小数(美分)。

    所以,首先将整数除以 100,然后应用数字格式:

    number_format($product->price / 100, 0, ",", ".");
    

    【讨论】:

    • 谢谢。我是这样决定的:number_format($product->price / 100, 2, ",", ".");
    猜你喜欢
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2016-04-25
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2012-01-29
    相关资源
    最近更新 更多