javaScript 对小数四舍五入

四舍五入

/**
 * 四舍五入
 * @param {数字} num 
 * @param {保留小数位数} i 
 * @returns 
 */

export function rounded(num, i) {
    var total2 = 0;
    var yn = String(num).indexOf(".") + 1; //获取小数点的位置
    if (yn > 1) {
        var s = num + "";
        var str = s.substring(0, s.indexOf(".") + (i + 1));
        if (yn >= i) {


        //    var y = str.replace(".", "");
            var n = s.substring(s.indexOf(".") + (i + 1), s.indexOf(".") + (i + 2));
            if (n >= 5) {               

                var n = s.substring(s.indexOf(".") + (i), s.indexOf(".") + (i + 1));
                var b = Number(n) + 1;
                var str2 = str.slice(0, str.length - (i - 1));
                var x = str2 + b;
                total2 = Number(x);
            } else {
                total2 = Number(str);
            }
        } else {

            var n2 = s.substring(s.indexOf(".") + (i + 1), s.indexOf(".") + (i + 2));
            if (n2 >= 5) {
                var m = s.substring(s.indexOf(".") + (i), s.indexOf(".") + (i + 1));
                var m1 = s.substring(0, s.indexOf(".") + (i));
                var newStr1 = m1 + (Number(m) + 1);
                total2 = Number(newStr1);
            } else {
                total2 = Number(str);
            }

        }
    } else {
        total2 = num;
    }
    return total2;
}

 

posted @ 2023-02-13 10:15  黄橙  阅读(37)  评论(0)    收藏  举报