当前位置 : 主页 > 网络编程 > JavaScript >

js函数,实现四舍六入五留双,替代四舍五入

来源:互联网 收集:自由互联 发布时间:2021-06-30
numFormat.js /* * arg 需要四舍六入五留双的数 * count 需要保留的小数点位数 */ function numFormat(arg, count){if(!isNaN(arg) count 0) {var argStr = Number(arg).toString();if(new RegExp("^\\d+\\.\\d{" + (count + 1) + ",}$"
numFormat.js
/*
 * arg 需要四舍六入五留双的数
 * count 需要保留的小数点位数
 */
 
function numFormat(arg, count){
	if(!isNaN(arg) && count > 0) {
		var argStr = Number(arg).toString();
		if(new RegExp("^\\d+\\.\\d{" + (count + 1) + ",}$").test(argStr)) { //需要修约正则
			var tarArg = Number(argStr.substr(0, argStr.length - (argStr.split(".")[1].length - count)));
			var m = Math.pow(10, count);
			if(new RegExp("^\\d+\\.\\d{" + count + "}[6-9]\\d*$").test(argStr) || //6入
				new RegExp("^\\d+\\.\\d{" + (count - 1) + "}[1|3|5|7|9][5]$").test(argStr) || //5前为奇数
				new RegExp("^\\d+\\.\\d{" + count + "}[5]\\d+$").test(argStr)) { //5后有大于0的数
				return(tarArg * m + 1) / m;
			}
			return(tarArg * m) / m;
		}
	}
	return arg;
}
网友评论