格式⾦额,默认保留两位⼩数,并格式化为千分位项⽬场景:会飞的松鼠
商城类项⽬中⼤多需要格式化⾦额,后缀保留两位⼩数,并且千元之后加上千分位符号
例⼦:32,131.00 这种⾦额,贴上js代码,可以新建⼀个js引⽤就⾏
一片迷茫解决⽅案:
//格式⾦额,默认保留两位⼩数,并格式化为千分位
function formatMoney(number, decimals, dec_point, thousands_p, roundtag){
/*
* 参数说明:
时空港* number:要格式化的数字
* decimals:保留⼏位⼩数
* dec_point:⼩数点符号
* thousands_p:千分位符号
* roundtag:舍⼊参数,默认 "ceil" 向上取,"floor"向下取,"round" 四舍五⼊
* */
if (!number){
number = 0;
}
if (!decimals){
decimals = 2;//默认保留2位⼩数
}
if (!dec_point){
海鲜酱的用途
dec_point = '.';
端午节的作文
}
if(!thousands_p){
thousands_p = ',';
}
if(!roundtag){
roundtag = 'round';
}
number = (number + '').replace(/[^0-9+-Ee.]/g, '');
roundtag = roundtag || "ceil"; //"ceil","floor","round"
var n = !isFinite(+number) ? 0 : +number,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
p = (typeof thousands_p === 'undefined') ? ',' : thousands_p,
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
s = '',
菌菇排骨汤toFixedFix = function (n, prec){
var k = Math.pow(10, prec);
return '' + parFloat(Math[roundtag](parFloat((n * k).toFixed(prec * 2))).toFixed(prec * 2)) / k;
};
s = (prec ? toFixedFix(n, prec):'' + und(n)).split('.');
var re = /(-?\d+)(\d{3})/;
while (re.test(s[0])){
s[0] = s[0].replace(re, "$1" + p + "$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);
}
excel滚动条export{
formatMoney
}
vue中引⽤使⽤⽅法:
main.js:
import * as moneyUtils from “./utils/money”;//引⼊js Utils = moneyUtils
使⽤:
标签中引⽤:
{{moneyUtils.formatMoney(Discount)}}