|
|
|
Este código redondea un número con decimales que le pasamos . La varaible num es el número pasado y la variable dec es el número de decimales a redondear. function number_format(num, dec) { num = ""+num+""; var num_dec = parseInt(num.length - num.lastIndexOf(`.`) - 1); var cadena = new String(); var numero = new Number(0); if (num.lastIndexOf(".") == -1) { return parseFloat(num); } var postindex = num.lastIndexOf(`.`)+dec+1; if (dec >= num_dec) { return parseFloat(num); } if (num[postindex] numero = parseFloat(num.substring(0,num.lastIndexOf(`.`)+dec+1)); } else { var i = postindex; while ((i+1) i++; } numero = parseFloat(num); var potencia = num.substring(num.lastIndexOf(`.`),i).length; var divisor = divisor = Math.pow(10,potencia); var incr = new Number(0); for (var j = i; j >= postindex; j--, divisor /= 10) { if (num[j] >= 5) { incr = (10 - num[j]) / divisor; numero += incr; num = ""+numero+""; } else { continue; } } numero = ""+numero+""; numero = numero.substr(0,num.lastIndexOf(`.`)+dec+1); } return numero; }
|
|