0

es que tengo un codigo en Javascript pero necesito redondear ese numero y no se como. Se que existe la funcionar match.round pero no me funciona, aquí va una parte del codigo.

$("#tamano").change(function() {
            var tamano = $(this).val()
            var data = tamano.split("/")
            var cant1 = document.getElementById("CANT1").value
            var material = document.getElementById("material").value
            var cantidad = document.getElementById("cantidad").value
            $("#PAP").val(data[0])
            $("#EXV").val(data[1])
            $("#AV").val(data[2])
            var q1 = (cant1/data[1]*data[2]/12*0.3048)
            $("#mat1", "#mat2", "#mat3", "#mat4").val(q1*data[0]*material/cant1*cantidad)
               
        });

La parte que quiero redondear es $("#mat1", "#mat2", "#mat3", "#mat4").val(q1*data[0]*material/cant1*cantidad)

2 Answers2

1

Para redondear un número en Javascript se utiliza toFixed(). A este método se le pasa como parámetro la cantidad de decimales que queremos.

let numero = 2000.430940943934439439349
console.log(numero.toFixed(3))
console.log(numero.toFixed(6))

Aunque si tambien quieres cambiar el formato al número (cambiando los puntos por comas por ejemplo) te recomiendo el método .toLocaleString que toma como parametro una región.

let numero = 300934904343.98543984359435839853895443
console.log(numero.toLocaleString('es-AR'))

En tu ejemplo concreto sería

Number( $("#mat1", "#mat2", "#mat3", "#mat4").val(q1*data[0]*material/cant1*cantidad) ).toFixed(2) o Number( $("#mat1", "#mat2", "#mat3", "#mat4").val(q1*data[0]*material/cant1*cantidad) ).toLocaleString('es-AR')

(los valores pasados como parámetro son ejemplos)

Vencho
  • 397
  • 1
  • 13
0

var numero = $("#mat1", "#mat2", "#mat3", "#mat4").val(q1*data[0]material/cant1cantidad); console.log(Math.round(numero));