js實(shí)現(xiàn)的格式化數(shù)字和金額功能簡(jiǎn)單示例
本文實(shí)例講述了js實(shí)現(xiàn)的格式化數(shù)字和金額功能。分享給大家供大家參考,具體如下:
格式化數(shù)字,格式化金額:
function number_format(number, decimals, dec_point, thousands_sep) { /* * 參數(shù)說(shuō)明: * number:要格式化的數(shù)字 * decimals:保留幾位小數(shù) * dec_point:小數(shù)點(diǎn)符號(hào) * thousands_sep:千分位符號(hào) * */ number = (number + '').replace(/[^0-9+-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function (n, prec) { var k = Math.pow(10, prec); return '' + Math.ceil(n * k) / k; }; s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); var re = /(-?\d+)(\d{3})/; while (re.test(s[0])) { s[0] = s[0].replace(re, "$1" + sep + "$2"); } if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); }
如何使用:
var num=number_format(1234567.089, 2, ".", ",");//1,234,567.09 console.log(num);
再來(lái)一個(gè),直接舍去的辦法:
function number_format(number, decimals, dec_point, thousands_sep) { /* * 參數(shù)說(shuō)明: * number:要格式化的數(shù)字 * decimals:保留幾位小數(shù) * dec_point:小數(shù)點(diǎn)符號(hào) * thousands_sep:千分位符號(hào) * */ number = (number + '').replace(/[^0-9+-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function (n, prec) { var k = Math.pow(10, prec); return '' + Math.floor(n * k) / k; }; s = (prec ? toFixedFix(n, prec) : '' + Math.floor(n)).split('.'); var re = /(-?\d+)(\d{3})/; console.log(s) while (re.test(s[0])) { s[0] = s[0].replace(re, "$1" + sep + "$2"); } if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); } var num=number_format(1234567.089, 2, ".", ",");//1,234,567.08 console.log(num)
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行結(jié)果。
PS:這里再為大家推薦幾款計(jì)算工具供大家進(jìn)一步參考借鑒:
在線一元函數(shù)(方程)求解計(jì)算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi
科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.jb51.net/jisuanqi/jsqkexue
在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.jb51.net/jisuanqi/jsq
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
非常不錯(cuò)的三種簡(jiǎn)潔的Tab導(dǎo)航(網(wǎng)頁(yè)選項(xiàng)卡)簡(jiǎn)析
非常不錯(cuò)的三種簡(jiǎn)潔的Tab導(dǎo)航(網(wǎng)頁(yè)選項(xiàng)卡)簡(jiǎn)析...2007-08-08JavaScript實(shí)現(xiàn)格式化字符串函數(shù)String.format
本文主要介紹了JavaScript實(shí)現(xiàn)格式化字符串函數(shù)String.format(可自動(dòng)解析引號(hào)轉(zhuǎn)義字符)。具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12JS實(shí)現(xiàn)超簡(jiǎn)單的仿QQ折疊菜單效果
這篇文章主要介紹了JS實(shí)現(xiàn)超簡(jiǎn)單的仿QQ折疊菜單效果,可實(shí)現(xiàn)鼠標(biāo)滑過(guò)列表展開(kāi)的QQ折疊菜單效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-09-09JavaScript中的函數(shù)聲明和函數(shù)表達(dá)式區(qū)別淺析
這篇文章主要介紹了JavaScript中的函數(shù)聲明和函數(shù)表達(dá)式區(qū)別淺析,本文總結(jié)的淺顯易懂,非常好的一篇技術(shù)文章,需要的朋友可以參考下2015-03-03微信小程序?qū)崿F(xiàn)長(zhǎng)按拖拽排序功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)長(zhǎng)按拖拽排序功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05js判斷瀏覽器的環(huán)境(pc端,移動(dòng)端,還是微信瀏覽器)
這篇文章主要介紹了js判斷瀏覽器的環(huán)境(pc端,移動(dòng)端,還是微信瀏覽器),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01