一 数字转金额格式显示
以vue组件为例:
export function toPsyt(num) {
if(num) {
if(isNaN(num)){
return "金额异常"
}
num = typeof num === 'string' ? parseFloat(num) : num // 判断是否是字符串如果是字符串转成数字
num = num.toFixed(2) // 保留两位
num = num.toLocaleString() // 转成金额显示模式
// 解决数字小于1时,IE只显示小数点后部分的问题
if (num.substring(0, 1) === '') {
num = '0' + num
}
//判断是否有小数
if(num.indexOf('.') === -1){
num = num + '.00'
}else {
num = num.split('.')[1].length < 2 ? num + '0' : num
}
return num // 返回的是字符串23,245.12保留2位小数
} else if (num === 0) {
num = num + '.00'
return num
}else {
return (num = null)
}
}
二 金额格式转数字(如果要兼容ie这个方法会报错,因为ie浏览器会报错replace这个属性问题)
//金额转数字
moneyToNumFiled:function(money) {
var num=money.trim();
var ss=num.toString();
if(ss.length==0){
return 0.00;
}
num=new Number(ss.replace(/,/g, "")); // 把金额中的,号去掉变为空
money=num;
},
注意:当你兼容ie浏览器的话就要另想办法金额格式转数字了,这样就要想办法在转为金额模式上找问题,直接不让其显示,号分隔就行