【问题标题】:How to store currency values with commas in them?如何在其中存储带有逗号的货币值?
【发布时间】:2014-09-07 05:36:13
【问题描述】:

如何存储带有逗号的货币值?我正在使用带有 mySQL 和 Apache 的 phpMyAdmin 来创建数据库,我需要在其中输入带有逗号的货币值以及 % 值。除了 Varchar 之外,我可以使用其他数据类型吗?顺便说一句,我对 Php 和 SQL 很陌生,所以不要对我大喊大叫。谢谢你的帮助!

【问题讨论】:

  • Best data type to store money values in MySQL 的可能重复项 - 简短回答是 DECIMAL(10,2)
  • 不要这样做:用小数点正确存储数字;并且仅添加 % 或将小数点更改为小数点以用于显示目的:请注意,货币值最好存储为整数而不是浮点数
  • @FDL 谢谢我没有意识到还有另一种形式可能是因为我没有指定我想在我的问题中存储货币值
  • How to store currency values with commas in them? 听起来你在给我指定货币价值

标签: php mysql apache phpmyadmin xampp


【解决方案1】:

$您可以将逗号 (,) 替换为点 (.) 并使用数据类型 float/double。当然,这只有在您不使用逗号作为 1k 分隔符时才有效。

http://php.net/manual/en/function.str-replace.php

$numP = str_replace(",", ".", $numC);

之后可以显式解析数字。

$numF = floatval($numP);

doubleval() 是一个别名。我不知道这是否是最佳做法,但它确实有效。 但是,您不应该将其用于金融应用程序。

【讨论】:

  • 如果我使用逗号作为 1k 分隔符,我将如何存储值,我应该完全删除它们吗?抱歉这个愚蠢的问题
  • 千位分隔符不是数字的一部分,它们是出于显示目的进行格式化....删除它们....如果您有逗号作为千位分隔符和小数分隔符,那么你有更多的问题
猜你喜欢
  • 2012-03-07
  • 2019-07-11
  • 2011-03-16
  • 1970-01-01
  • 2022-08-19
  • 2012-07-26
  • 1970-01-01
  • 2019-07-05
  • 2013-11-09
相关资源
最近更新 更多