【问题标题】:Regex identify and strip '.00' in strings正则表达式识别并去除字符串中的“.00”
【发布时间】:2013-06-07 01:44:13
【问题描述】:

我的用户正在他们的商店中输入产品,而我的 PHP CMS 将价格打印为正常的 2 位十进制数字。我的问题是所有整数价格,即80 都打印为80.00 - 如果存在十进制整数,我只想打印它们,所以80.95 打印,但80.00 仅打印为@987654325 @

数字中没有符号,只有句点.

我可以在页面生成时使用正则表达式在服务器端识别和转义字符串,我更喜欢这样做而不是在页面加载时匹配和替换 jQuery,所以.00 的正则表达式是否在没有句点 @ 的情况下运行987654328@ 作为通配符操作?正则表达式对我来说是一个弱点,所以对于每次我找不到答案时都发帖表示歉意。

【问题讨论】:

  • 您可以在正则表达式中转义点:\。然后它将匹配一个点而不是任何符号。我想最好的解决方案是更改格式以正确显示数字而无需进一步操作,但我对 PHP 的了解不足以帮助您。
  • 谢谢,转义 .正如\. 所做的那样:)
  • 为什么不直接将其转换为 int? num.indexOf('.00') > -1 ? parseInt(num) : num

标签: php jquery regex content-management-system number-formatting


【解决方案1】:

你可以使用类似的东西:

(\d+)(\.00)

并匹配组 1 以查找句号之前的数字。请参阅 rubular 链接以交互方式使用它。

http://rubular.com/r/fyvdFflctc

【讨论】:

  • 谢谢,这只是用\.00 转义. 的问题 - 我现在已经用任何内容替换了.00 的所有实例并且它有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
相关资源
最近更新 更多