javascript 添加千分符

对于给一组数字添加千分符,我能想到的方法有两种,一种是通过循环遍历,另一种是使用正则表达式。

第一种方法太笨了,这里就用第二种方法实现。

代码是在网上找的,因为添加千分符的正则表达式我是不会写的。

<html>
<head>

</head>
<body>
<input id="val" type="text" value="1231234564.454" />  
<button οnclick="get()">get it</button>  
<script type="text/javascript">  
    var $=function(){  
        return document.getElementById(arguments[0]);  
    }  
    function get(){  
        var val=$('val').value;  
        if(val!=''&&!isNaN(val)){  
            re=/(\d{1,3})(?=(\d{3})+(?:$|\.))/g;  
            n=val.replace(re,"$1,");  
            alert(n);
        }
        else alert('请输入数字');  
    }  
</script> 

</body>
</html>

之前写的太粗糙了,有些细节没有做。刚才做了一个实例。

<html>
<head>

</head>
<body>
<span id="subtotal">59,210.00</span><br />
<input id="txtDiscount" type="text" οnblur="get();" />%<br />
<span id="result" style="color:red;"></span>
<!--<button οnclick="get()">get it</button>-->
<script type="text/javascript">  
var $=function(){  
	return document.getElementById(arguments[0]);  
}
function get(){  
	var val=$('subtotal').innerHTML.replace(/,/g,"");
	var discount = $('txtDiscount').value;
	var total;
	if(discount!==''&&!isNaN(discount)){
		total = parseFloat(val)*(1-parseFloat(discount)/100);
		total = total.toFixed(2) + "";
		var re=/(\d{1,3})(?=(\d{3})+(?:$|\.))/g;  
		var n=total.replace(re,"$1,");  
		$("result").innerHTML = n;
	}else{
		alert("Please input discount");
	}
}
</script> 

</body>
</html>
这样就好多了。是个实际的应用啦。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值