Here you can find the source of toFix(digits)
/**/* w ww . j a v a2s. com*/ * @description Direct interception of the decimal without rounding * @author x.radish * @param {int} digits The number of decimal places * @return {Number} */ Number.prototype.toFix=function(digits){ var f=parseInt(digits), n=Number(this), s=n.toString(); var p=s.split("."); if(p[1]&&p[1].length>f){ p[1]=p[1].substring(0,f); n=Number(p.join(".")); }else{ n=Number(this); } return n; }
function formatFloat(num, pos) { var size = Math.pow(10, pos); return Math.round(num * size) / size;
Number.prototype.toFixed = function (d) { var s = this + ""; if (!d) d = 0; if (s.indexOf(".") == -1) s += "."; s += new Array(d + 1).join("0"); if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0," + (d + 1) + "})?)\\d*$").test(s)) { var s = "0" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true; if (a == d + 2) { a = s.match(/\d/g); ...
Number.prototype.toFixed = function(exponent) { if (exponent) { var result = (parseInt(this * Math.pow(10, exponent) + 0.5) / Math.pow(10, exponent)).toString(); var count = 0; if (result.indexOf(".") > 0) { count = exponent - result.split(".")[1].length; } else { count = exponent; result += "."; ...
Number.prototype.toFixed10 = function(precision) { return Math.round10(this, -precision).toFixed(precision);
Number.prototype.toFixedB = function toFixed ( precision ) { var multiplier = Math.pow( 10, precision + 1 ), wholeNumber = Math.floor( this * multiplier ); return (Math.round( wholeNumber / 10 ) * 10 / multiplier).toFixed(precision);