zoukankan      html  css  js  c++  java
  • javascript逗号添加函数

    javascript数字添加逗号函数


    方法一

    function CommaFormatted(amount){
    	var delimiter = ","; // replace comma if desired
    	var a = amount.split('.',2)//把接收到的参数按照.分割成两部分。如果如果没有逗号 a.length =1
    	//var d = a[1];//保留小数点后面的数字
    	var i = parseInt(a[0]);
    	if(isNaN(i)) { return ''; }  //判断是否是数字
    	var minus = '';
    	if(i < 0) { minus = '-'; }    //如果是负数,minus设置 "-" (负号),正数,设置成""(空字符串) 
    	i = Math.abs(i);              //取绝对值
    	var n = new String(i);        //新建一个字符串i
    	var array = [];                   //新建一个数组
    	
    	while(n.length > 3)
    	{
    		var nn = n.substr(n.length-3);//substr从起始位置到结尾的字符串,即最后三个字符
    		array.unshift(nn);//unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
    		n = n.substr(0,n.length-3);//字符串n值保留起始到原来的长度leagth-3的地方(删除了后三个)
    	}
    	
    	if(n.length > 0) { array.unshift(n); }//如果字符串n还有字符直接加到a里面
    	n = array.join(delimiter);//join() 方法用于把数组中的所有元素放入一个字符串。
    	
    	if(a.length == 1) { amount = n; }  //如果没有小数点amount=n
    	else { amount = n + '.' + a[1]; } //如果有小数点amount = n+"小数点后数字"
    	
    	amount = minus + amount;//
    	return amount;
    }
    // end of function CommaFormatted()
    

     方法二

    function addCommas(nStr){
    	nStr += '';
    	x = nStr.split('.');
    	x1 = x[0];
    	x2 = x.length > 1 ? '.' + x[1] : '';
    	var rgx = /(\d+)(\d{3})/;
    	while (rgx.test(x1)) {
    		x1 = x1.replace(rgx, '$1' + ',' + '$2');
    	}
    	return x1 + x2;
    }
    

    说明,网上找的,修改了一个错误地方,加上了,注释,至于,这两个两个效率更高就不知道了

    理论上你方法写的好的话,效率应该会比正则表达式高。  未验证。。。

  • 相关阅读:
    RTF文件格式
    javascript 正则表达式基础
    不同线程之间传递数据
    JavaScript trim函数
    Simple Editor
    关于RichTextBox字体的问题
    手机短信自动清理方式
    手机来电显示新方法
    具有二维码自动识别功能的交通标志
    利用手机扫描二维码技术识别房屋租赁信息
  • 原文地址:https://www.cnblogs.com/xy2401/p/2800828.html
Copyright © 2011-2022 走看看