小数点保留俩位小数(补0)以及显示千分位

导出

//数字千位分割
export function formatNumber(num) {
    if (!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)) {
        return num;
    }
    var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3;
    var re = new RegExp("(\\d)(\\d{3})(,|$)");
    while (re.test(b))   b = b.replace(re, "$1,$2$3");
    return a + "" + b + "" + c;
};

//小数点保留后俩为并且不足补0
export function toDecimal(x) {    
    var f = parseFloat(x);    
    if (isNaN(f)) {    
        return "";    
    }    
    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;    
}

引入

import { formatNumber, toDecimal } from "@/位置";

使用

formatNumber(toDecimal('1000.1'))      //1,000.10
formatNumber(toDecimal('1000'))        //1,000.00
formatNumber(toDecimal('1000.01'))     //1,000.01
formatNumber(toDecimal('10000.1'))     //10,000.10
formatNumber(toDecimal('10000'))       //10,000.00
formatNumber(toDecimal('10000.01'))    //10,000.01

猜你喜欢

转载自blog.csdn.net/a791226606/article/details/106260308