Nodejs Float Format toFix(digits)

Here you can find the source of toFix(digits)

Method Source Code

/**/*  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;
}

Related

  1. formatFloat(num, pos)
    function formatFloat(num, pos) {
      var size = Math.pow(10, pos);
      return Math.round(num * size) / size;
    
  2. toFixed(d)
    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);
    ...
    
  3. toFixed(exponent)
    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 += ".";
    ...
    
  4. toFixed10(precision)
    Number.prototype.toFixed10 = function(precision) {
        return Math.round10(this, -precision).toFixed(precision);
    
  5. toFixedBtoFixed ( 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);