描述:对数字进行进率转化,并且保留指定位的小数,能够自动去掉小数末尾的零。

    1. // 计算方法,num为当前的数 rate为进率 digit为保留的小数位
    2. export const calculation = (num: number, rate: number, digit: number) => {
    3. return parseFloat((Math.trunc(num) / rate).toFixed(digit) + '');
    4. };

    描述:数字千分位间隔

    1. export const format = (n) => {
    2. let num = n.toString();
    3. let decimals = '';
    4. // 是否有小数
    5. num.indexOf('.') > -1 ? decimals = num.split('.')[1] : decimals;
    6. let len = num.length;
    7. if (len <= 3) {
    8. return num;
    9. } else {
    10. let temp = '';
    11. let remainder = len % 3;
    12. decimals ? temp = '.' + decimals : temp;
    13. if (remainder > 0) { // 不是3的整数倍
    14. return num.slice(0, remainder) + ',' + num.slice(remainder, len).match(/\d{3}/g).join(',') + temp;
    15. } else { // 3的整数倍
    16. return num.slice(0, len).match(/\d{3}/g).join(',') + temp;
    17. }
    18. }
    19. }