javascript toFixed()方法兼容负数重写

javascript方法toFixed()可以把Number四舍五入为指定小数位数的数字,但在负数上似乎有问题,把方法提出来重写以兼容负数。

代码可放在方法调用前的任意js文件,或直接放在页面上。

Number.prototype.toFixed = function (s) {
	var that = this, changenum, index;
	if (this < 0) {
		that = -that;
	}
	changenum = (parseInt(that * Math.pow(10, s) + 0.5) / Math.pow(10, s)).toString();
	index = changenum.indexOf(".");
	if (index < 0 && s > 0) {
		changenum = changenum + ".";
		for (var i = 0; i < s; i++) {
			changenum = changenum + "0";
		}
	} else {
		index = changenum.length - index;
		for (var i = 0; i < (s - index) + 1; i++) {
			changenum = changenum + "0";
		}


	}
	if (this < 0) {
		return -changenum;
	} else {
		return changenum;
	}
}

原文地址:https://www.cnblogs.com/tonnytong/p/9327345.html