function round(num,dec){ var strNum = num + '';/*把要转换的小数转换成字符串*/ var index = strNum.indexOf("."); /*获取小数点的位置*/ if(index < 0) { return num;/*如果没有小数点,那么无需四舍五入,返回这个整数*/ } var n = strNum.length - index -1;/*获取当前浮点数,小数点后的位数*/ if(dec < n){ /*把小数点向后移动要保留的位数,把需要保留的小数部分变成整数部分,只留下不需要保留的部分为小数*/ var e = Math.pow(10, dec); num = num * e; /*进行四舍五入,只保留整数部分*/ num = Math.round(num); /*再把原来小数部分还原为小数*/ return num / e; } else { return num;/*如果当前小数点后的位数等于或小于要保留的位数,那么无需处理,直接返回*/ } }