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 b = Number(y) + 1;
                var str2 = b + "";
                var newStr =
                    str2.slice(0, str2.length - i) +
                    "." +
                    str2.slice(str2.length - i);
                total2 = Number(newStr);
            } 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 @ 2022-07-14 11:12    阅读(37)  评论(0编辑  收藏  举报