分转化为元 - 正则解决精度
export const regFenToYuan = (fen) =>{ 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) }
判断是否最多两位小数,正负均可
export const checkTwoPointNum = (inputNumber) => { var partten = /^-?\d+\.?\d{0,2}$/; return partten.test(inputNumber) };
强制保留2位小数,如:2,会在2后面补上00.即2.00
export const toDecimal2 = (x) => { var f = parseFloat(x); if (isNaN(f)) { return false; } var f = Math.round(x * 100) / 100; var s = f.toStr