Here you can find the source of roundToPrec(precision)
// roundToPrec is different from toFixed as it returns a Number // instead of a String thus removing trailing zeros int the fractional part... Number.prototype.roundToPrec = function(precision) { var power = Math.pow(10, precision || 0); return Math.round(this * power) / power; }
Number.prototype.roundMoney = Number.prototype.toObject || function roundMoney(decimals = 2) { return Number((Math.round(this + "e" + decimals) + "e-" + decimals)); };
Number.prototype.round = Number.prototype.round || function (precision) { return Math.round(this * Math.pow(10, (precision || 2))) / Math.pow(10, (precision || 2))
Number.prototype.roundTo = function() { return 32 * Math.round(this / 32);
Number.prototype.roundTo = function(num) { var resto = this%num; if (resto <= (num/2)) { return this-resto; } else { return this+num-resto; };
Number.prototype.roundToFixed = function (radix) { var val = this; radix = radix || 0; val *= Math.pow(10, radix); val = Math.round(val); val /= Math.pow(10, radix); return val; };
Number.prototype.roundToTwoDPoints = function() { if (isNaN(this)) { console.log(this); console.dir(this); throw new Error('Not a number!'); return Math.round((this + 0.00001) * 100) / 100; };
Number.prototype.ceil = function(){ return Math.ceil(this); };
Number.prototype.ceilMagnitude = function(){ if (this > 1) { var magnitude = Math.pow(10, (this.toString().length - 1)); return Math.ceil(this / magnitude) * magnitude; } else { return 1; }; var objectLength = function objectLength(object) { ...
Number.prototype.floor = function(){ return Math.floor(this); };