Javascript 正则表达式实现为数字添加千位分隔符

 在项目中做货币转换的时候经常需要可以实现自动格式化输入的数字,自动千位分隔符,在网上也看到一些其他网友的实现的代码,感觉都不是太满意,于是自己研究了下,分享给大家。

 
 

最近在网上有看到使用js来实现数字的千位分隔符的面试(笔试)题,所以就自己写了一个利用“正则+replace”来实现的方法:

 

复代码如下:

var thousandBitSeparator = function(numStr){
var b = /([-+]?d{3})(?=d)/g;
return numStr.replace(b, function($0, $1){
return $1 + ',';
});
}

 

支持正负号匹配,小数点区分,如有错误,希望大大们指出:-D

附上一个其他网友的实现方法

 

代码如下:

<script language="JavaScript" type="text/javascript">
function formatNumber(num){
if(!/^(+|-)?(d+)(.d+)?$/.test(num)){
return num;
}
var a = RegExp.$1,b = RegExp.$2,c = RegExp.$3;
var re = new RegExp().compile("(d)(d{3})(,|$)");
while(re.test(b)){
b = b.replace(re,"$1,$2$3");
}
return a +""+ b +""+ c;
}
var num=1234567/3;
alert("num="+num+",四舍五入:"+Math.round(num)+",两位有效数字:"+num.toFixed(2)+",添加千位分隔符:"+formatNumber(num));
</script>

 

以上就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-10-29 04:05:43

Javascript 正则表达式实现为数字添加千位分隔符的相关文章

Javascript 正则表达式实现为数字添加千位分隔符_javascript技巧

最近在网上有看到使用js来实现数字的千位分隔符的面试(笔试)题,所以就自己写了一个利用"正则+replace"来实现的方法:   复制代码 代码如下:  var thousandBitSeparator = function(numStr){      var b = /([-+]?\d{3})(?=\d)/g;      return numStr.replace(b, function($0, $1){          return $1 + ',';      });  } 支

java使用正则表达为数字添加千位符的简单方法_java

Java支持的正则表达式很完善,利用零宽断言可以用一句话为整数添加千位符. 复制代码 代码如下: "1234567890".replaceAll("(?<=\\d)(?=(?:\\d{3})+$)", ",");// => 1,234,567,890

Excel 2007千位分隔符的显示或隐藏

  千位分隔符是Excel中常用的数据符号.今天我们来了解如何控制Excel 2007里千位分隔符的显示或隐藏. 1.选择要设置格式的单元格. 提示 要取消选择的单元格区域,请单击工作表中的任意单元格. 2.在"开始"选项卡上,单击"数字"旁边的"对话框启动器" . 3.在"数字"选项卡上,单击"分类"列表中的"数字". 4.要显示或隐藏千位分隔符,请选中或清除"使用千位分隔符

Excel的千位分隔符是什么

  Excel的千位分隔符,其实就是数字中的逗号.依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值.所以人们在数字中,每隔三位数加进一个逗号,也就是千位分隔符,以便更加容易认出数值. 英语里没有"万""亿",只有"百万(million)""十亿(billion)",千位分隔符就是这么产生的: 1,000 one thousand 一千 1,000,000 one million 一百万 1,000,0

excel 千位分隔符显示与隐藏

 千位分隔符是Excel中常用的数据符号.今天我们来了解如何控制Excel 2007里千位分隔符的显示或隐藏. 1.选择要设置格式的单元格. 提示 要取消选择的单元格区域,请单击工作表中的任意单元格. 2.在"开始"选项卡上,单击"数字"旁边的"对话框启动器". 3.在"数字"选项卡上,单击"分类"列表中的"数字". 4.要显示或隐藏千位分隔符,请选中或清除"使用千位分隔符(,

JavaScript如何实现对数字保留两位小数一位自动补零_javascript技巧

本章节介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例: function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ value=value.toString()+".00"; r

javascript正则表达式 (中文,数字,字母)

new var re = new RegExp('test','gi'); var re = /test/gi; function test();//bool exec();//string 一次匹配并返回 match();//array 多次匹配并返回 search();//类似indexOf() replace();//替换 split();//分割 有用的预定义类 .[^nr]//不包含换行的任何字符 d [0-9] D [^0-9] s [tnx0Bfr]//空字符,换行符 S [^tn

js中,有什么函数可以令数字每千位就加一“,”,还有什么函数可以保留小数后两位

我没有在js里找到过这样的函数<br><br>我过去编过一个截小数位数的函数,代码如下<br><br>/***********************************************************<br>Function formatnumber(value,num)<br>Written by zergling<br>javascript版本的FormatNumber函数,用法与VBScript

php number_format() 函数通过千位分组来格式化数字的实现代码_php技巧

定义和用法number_format() 函数通过千位分组来格式化数字. 语法number_format(number,decimals,decimalpoint,separator) 参数描述number 必需.要格式化的数字.如果未设置其他参数,则数字会被格式化为不带小数点且以逗号 (,) 作为分隔符. decimals可选.规定多少个小数.如果设置了该参数,则使用点号 (.) 作为小数点来格式化数字. decimalpoint可选.规定用作小数点的字符串. separator 可选.规定用