數字格式化應該很常用,保留幾位小數,四捨五入,千分位分割
奈何專案上原有格式化方法,功能比較單一,只能格式化成如 12,456,451.00這樣的數字,整數部分千分位分割,小數部分直接捨棄,用兩個0表示
無奈自己寫了乙個
/*** 格式化數字(小數字數,千分位逗號分割)
* @param nstr 數字或者字串
* @param decimal 數字 小數字要補全的位數 預設2 如8.00
* @param precision 小數部分有效的位數 預設0 如8.00 設定1所得結果如8.40
* @param round 是否要四捨五入 true四捨五入 false直接截斷 預設false
* @param thousand 是否要千分們分割 預設false不分割
* @param formatdecimal 小數部分是否要千分位分割 預設false不分割
* @return string 格式化後的數字字串
*/function numformat (nstr, decimal, precision, round, thousand, formatdecimal) else if (typeof precision === 'boolean')
typeof decimal === 'number' || (decimal = 2);
typeof precision === 'number' || (precision = 0);
precision = precision < decimal ? precision : decimal;
round = typeof round === 'boolean' && round;
thousand = typeof thousand === 'boolean' && thousand;
formatdecimal = typeof formatdecimal === 'boolean' && formatdecimal;
nstr || (nstr = 0);
nstr = (nstr + '').replace(/[^\d\.]/g, '');
if (round) else else if (nstr.indexof('.') >= 0)
nstr = nstr.replace(new regexp('(\\.\\d).*'), '$1');}}
nstr = number(nstr).tofixed(decimal);
var narr = nstr.split('.');
if (thousand && narr[0]) )(?=(?:\d)+$)/g, '$1,');
}if (thousand && formatdecimal && narr[1]) )(?=\d)/g, '$1,');
}return narr.join('.');
}
格式化數字
格式化數字 下表是可在format函式中用於格式化數字的字元。字元 說明0 數字佔位符。顯示乙個數字或0。如果表示式在格式字串中出現0的位置上有數字,則顯示該數字 否則在該位置顯示0。如果數字的位數少於格式表示式中 0 的個數 小數點任一側 則顯示前導零或尾隨零。如果數字的小數點分隔符右側的位數多於...
數字格式化
double pi 3.1415927 圓周率 取一位整數 system.out.println new decimalformat 0 format pi 3 取一位整數和兩位小數 system.out.println new decimalformat 0.00 format pi 取兩位整數和...
數字格式化
x 3.1415926535 round x,2 out 1 3.14in 2 round x,2 out 2 3.14in 3 當位於中間時候,取整偏向最近的偶數 y 1.5 z 2.5 round y out 3 2in 4 round z out 4 2in 5 round 1.6 out 5...