在数值中加入千位分隔符的方法

为了方便阅读,我们通常会在一串长数字中加入“千位分隔符”,即将 1234567890.11 转换成 1,234,567,890.11 ,这样的任务交给正则表达式来处理再方便不过了,本文就介绍了这个问题的解决方法。

语法:

(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))

使用范例:

<?php

// 说明:在数值中加入千位分隔符的方法
// 整理:CodeBit.cn ( http://www.CodeBit.cn )

$num = "1234567890.11";

$num = preg_replace('/(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))/', ',', $num); 

echo $num;

?>

关于 Artlover

有多年 web 开发经验,擅长领域 PHP / MySQL / CSS / Javascript / Zend Framework ,期望:在分享中共同成长。
此条目发表在 PHP 分类目录,贴了 , , , , , , 标签。将固定链接加入收藏夹。

在数值中加入千位分隔符的方法》有 5 条评论

  1. 王春生 说:

    似乎可以使用number_formate可以完成类似的功能吧。:)

  2. CodeBit.cn 说:

    呵呵,当然了,假如只有数字的话,倒是可以用 number_format, 不过,正则的优势在于匹配,像 “$str = ‘今年营业额是1234567890.11亿元RMB’;” 这样的字符串,就要靠本文介绍的方法了。

  3. max 说:

    有需要这么复杂吗

    使用 number_format($number);
    很简单,
    参考手栅

    number_format
    Format a number with grouped thousands (PHP 3, PHP 4, PHP 5)

    string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] )

  4. 城西 说:

    直接用 num_format 不更好吗?.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>