php - 阿拉伯/波斯数字的 Number_format

标签 php mysql regex formatting

我在 mysql 数据库中有一个“价格”字段,其中包含以阿拉伯或波斯数字表示的产品价格。

数字示例:12345567890 //1234567890

我不知道如何格式化它以便以用户友好的方式格式化。 我的意思是,按数千或类似的东西分组。 这将是理想的:1234 567 890

php 中的 number_format 是我在拉丁数字上使用的格式。

有什么我不知道的功能可以实现吗?

如果没有,请提供有关如何创建一个的想法。

谢谢

最佳答案

你可以像这样使用正则表达式:

([۱۲۳۴۵۶۷۸۹۰])(?=(?:[۱۲۳۴۵۶۷۸۹۰]{3})+$)

在字符串 1234567890 上搜索并替换为 \1, 会得到 1,234,567,890(使用 , 而不是空格,因为 SO 会将它们剪掉。但是在替换中使用空格也同样有效)。

不过,我不得不同意评论中的建议,使用可用的数字类型存储数据并在输入/输出时转换它们。

关于php - 阿拉伯/波斯数字的 Number_format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16524286/

相关文章:

php - 在 php html 中从 mysql 填充下拉列表

javascript - jQuery 可放置元素 id 未定义

javascript - 如何使用 AJAX/jQuery 检查链接是否被单击

php - 如何为新用户生成安全密码?

php - MySQL 更新查询 - 竞争条件和行锁定会遵守 'where' 条件吗? (php, PDO, MySQL, InnoDB)

regex - Nginx 重写 : add trailing slash, 保留 anchor 和查询字符串

php - 获取给定日期的月份

mysql - Vagrant,如何在主机上访问/同步 phpmyadmin

php - 由于 PCRE 限制,正则表达式导致 Apache 崩溃

javascript - 匹配正则表达式直到一个字符