• Remarks

    保留小数,不存在精度丢失问题,解决使用toFixed精度丢失或者大数等问题

    Returns

    返回数据结果 使用demo如下:

    console.log(retainDecimalsByDigit(-12334577));
    console.log(5.215.toFixed(2),1.125.toFixed(2) )// 结果分别为 5.21 1.13 5.215 存在精度丢失
    console.log(retainDecimalsByDigit(5.215,2),retainDecimalsByDigit(1.125,2)); // 结果分别为 5.22 1.13 不存在精度丢失
    console.log(retainDecimalsByDigit(12334577));//12334577.00
    console.log(retainDecimalsByDigit(-12334577.12,5));//-12334577.12000
    console.log(retainDecimalsByDigit(-12334577.12,5,false,false));//-12334577.12
    console.log(retainDecimalsByDigit(-12334577.125,2));//-12334577.13
    console.log(retainDecimalsByDigit(-12334577.124,2,false,false));//-12334577.12
    console.log(retainDecimalsByDigit(-12334577.9999,2));//-12334578.00
    console.log(retainDecimalsByDigit(-12334577.9999,2,false,false));//-12334577.99
    console.log(retainDecimalsByDigit('199.99999999999999999999999999',2));//200.00
    console.log(retainDecimalsByDigit('198.19999999999999999999999999',2));// 198.20
    console.log(411522199010154219.99999999999999999999999999.toFixed(2))//结果 411522199010154240.00
    console.log(retainDecimalsByDigit('411522199010154219.99999999999999999999999999'))//结果 411522199010154220.00
    console.log(retainDecimalsByDigit('9999999999999999.99999999999999999999999999',4));// 10000000000000000.0000

    Parameters

    • num: string | number

      需要传入的数字 支持大数,如果是大数的请传递字符串格式,防止数字越界

    • digitNum: number = 2

      需要保留的小数位数,默认保留两位小数

    • isPad: boolean = true

      保留的小数位数是否补0 默认不够保留的小数位数直接补0

    • isHalfAdjust: boolean = true

      保留小数的时候是否四舍五入,默认为true

    Returns string