zoukankan      html  css  js  c++  java
  • 将数值四舍五入后格式化,带有千分位

    <html>
    <head>
    </head>
    <script>
    
    	//保留几位小数
    	function fmoney(obj, num) {
    		return obj.value = formatNumber(obj.value, 2, 1);
    	}
    	/* 
    	将数值四舍五入后格式化. 
    	@param num 数值(Number或者string) 
    	@param cent 要保留的小数位(Number) 
    	@param isThousand 是否须要千分位 0:不须要,1:须要(数值类型); 
    	@return 格式的字符串,如'1,234,567.45' 
    	@type String 
    	*/ 
    	function formatNumber(num, cent, isThousand) {
    		num = num.toString().replace(/$|\,/g, '');
    		if (isNaN(num))//检查传入数值为数值类型. 
    			num = "0";
    		if (isNaN(cent))//确保传入小数位为数值型数值. 
    			cent = 0;
    		cent = parseInt(cent);
    		cent = Math.abs(cent);//求出小数位数,确保为正整数. 
    		if (isNaN(isThousand))//确保传入是否须要千分位为数值类型. 
    			isThousand = 0;
    		isThousand = parseInt(isThousand);
    		if (isThousand < 0)
    			isThousand = 0;
    		if (isThousand >= 1) //确保传入的数值仅仅为0或1 
    			isThousand = 1;
    		sign = (num == (num = Math.abs(num)));//获取符号(正/负数) 
    		//Math.floor:返回小于等于其数值參数的最大整数 
    		num = Math.floor(num * Math.pow(10, cent) + 0.50000000001);//把指定的小数位先转换成整数.多余的小数位四舍五入. 
    		cents = num % Math.pow(10, cent); //求出小数位数值. 
    		num = Math.floor(num / Math.pow(10, cent)).toString();//求出整数位数值. 
    		cents = cents.toString();//把小数位转换成字符串,以便求小数位长度. 
    		while (cents.length < cent) {//补足小数位到指定的位数. 
    			cents = "0" + cents;
    		}
    		if (isThousand == 0) //不须要千分位符. 
    			return (((sign) ?

    '' : '-') + num + '.' + cents); //对整数部分进行千分位格式化. for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3)); return (((sign) ?

    '' : '-') + num + '.' + cents); } </script> <input onblur="fmoney(this,2);" value="" /> <body> </body> </html>



  • 相关阅读:
    jdk8u144安装在centos7上
    事件对象(示例、封装函数EventUtil())
    事件处理程序
    取消冒泡
    编程挑战JavaScript进阶篇(慕课网题目)
    网页卷去的距离与偏移量
    DOM编程练习(慕课网题目)
    浏览器窗口可视区域大小
    网页尺寸scrollHeight/offsetHeight
    替换元素节点replaceChild()
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5272769.html
Copyright © 2011-2022 走看看