1.在components 文件夹下新建moneyHandle.ts 文件
2.ts文件中写如下代码(保留两位小数)
//分转化为元 - 正则解决精度
export const regFenToYuan = (fen:any) =>{
var num = fen;
num=fen*0.01;
num+='';
var reg = num.indexOf('.') >-1 ? /(\d{1,3})(?=(?:\d{3})+\.)/g : /(\d{1,3})(?=(?:\d{3})+$)/g;
num=num.replace(reg,'$1');
num = toDecimal2(num)
return num
};
//元转分 - 解决精度问题 yuan:要转换的钱,单位元; digit:转换倍数
export const regYuanToFen = (yuan:number,digit:number) =>{
var m=0,
s1=yuan.toString(),
s2=digit.toString();
try{m+=s1.split(".")[1].length}catch(e){}
try{m+=s2.split(".")[1].length}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
//强制保留2位小数,如:2,会在2后面补上00.即2.00
export const toDecimal2 = (x:any) => {
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x * 100) / 100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
3.项目中使用
在需要的页面引入方法
在页面中使用即可(根据自身项目需求)