【问题标题】:phpmyadmin and dreamweaver 2 decimal placephpmyadmin 和 dreamweaver 2 位小数
【发布时间】:2015-02-19 15:50:48
【问题描述】:

我刚刚使用 phpmyadmin 创建了一个数据库,并制作了一些页面来查看编辑并添加到这个数据库中。其中一个字段是用于金钱的,因此需要保留 2 位小数,它设置为浮点数,但是当我输入说 1.20 并使用我创建的添加记录页面添加它然后返回查看它时说1.2 有人知道我是否需要更改网页或数据库的任何内容。

【问题讨论】:

  • 不要使用浮点数来表示货币值。如果您想存钱,请使用decimal,或者将您的钱转换为美分并使用整数。
  • 看看我下面的回答,你可能会发现一些好的做法。 :)
  • @MarcB 感谢这项工作,但不得不将其更改为 2,2 你可以发布作为答案,以便我可以期待它
  • @Jhondoe 我发布了您正在寻找的解决方案。干杯bcdiv()
  • 别忘了验证答案,干杯:)

标签: php mysql phpmyadmin dreamweaver


【解决方案1】:

试试这个例子来格式化数字

$foo = "105";
echo number_format((float)$foo, 2, '.', '');  // Outputs -> 105.00

【讨论】:

  • 我的管理员或网页在 php 中的什么位置? @ErasmoOliveira
  • @Jhondoe 在 .php 文件中使用,同时在视图中打印值,而不是在 phpmyadmin 中。
【解决方案2】:

您可以使用Number_format(),精度为2,并使用分隔符.

使用这种语法

echo number_format((float) $number, $precision, '.', ''); 

如本题所示:link

它提供了一个非常好的演示

改进

对于货币交易,最好将所有数字保存为INT 格式,然后在您想要输出它们时将它们转换为美分,只需除以百。

插图:

1.20 被保存为120 然后当涉及到输出时,您只需使用以下函数 bcdiv() 除以 100。

echo bcdiv('120', '100', 2);

结果

1.20

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多