Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

170
Vistas
Necesito usar Math.floor en un programa de JavaScript para redondear el resultado de un cálculo de calificación, pero los ejemplos que he visto o probado no funcionan

Sé que la sintaxis de Math.floor es un número, por lo que puede poner un número dentro de la declaración como argumento o tener un número muy igual, pero en mi caso tengo una variable de calificación que se agrega a otra variable llamada "total". y luego el promedio de las calificaciones ingresadas es igual al total dividido por la cantidad de calificaciones ingresadas.

Aquí está mi código.

 var grade = 0; var avg = 0; var count = 0; var total = 0; do { grade = prompt('Enter grade(-1 to stop)'); while (!grade || grade < -1 || grade > 100 || isNaN(grade)) { grade = prompt('Enter grade again (-1 to stop)'); } if (grade == -1) { break } count++; document.write('<td>Grade ' + count + '</td>'); document.write('<td width="50"> ' + grade + ' </td>'); document.write('</tr>'); total += Number(grade); } while (grade != -1) document.write('</table>'); if(count > 0) { avg = total / count; } //Math.floor would go here instead of document.write. document.write('Semester Average: ' + avg + '<br /><br />');

Sé que no puede usar la variable promedio dentro de Math.floor, pero tiene que haber otra forma de tener el dwon promedio redondeado si no es un número entero.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Simplemente puede usar Math.floor (o round) en el var antes de escribirlo.

const rounded = Math.round(avg)

about 4 years ago · Juan Pablo Isaza Denunciar

0

En la mayoría de los casos, el uso de document.write() no es una buena opción, ya que hace que el documento quede sin terminar. Esta es mi versión del script que siempre le brindará una descripción general válida de las calificaciones, incluso antes de que haya terminado de recopilar todas las calificaciones.

 function tr(i, g) { // creates and returns a TR DOM element const el = document.createElement("tr"); el.innerHTML = `<td>${i}.</td><td>${g}</td>`; return el; } const tb = document.querySelector("#mytbl tbody"), tf = document.querySelector("#mytbl tfoot th:nth-child(2)"), gr = document.querySelector("#grade"); gr.focus(); // position cursor on input field document.querySelector("form").addEventListener("submit", function(ev) { ev.preventDefault(); const n = tb.children.length + 1; // calculate curent count tb.append(tr(n, gr.value)); gr.value = ""; // empty the input field again tf.textContent = ([...tb.querySelectorAll("td:nth-child(2)")] .reduce((a, c) => +c.textContent + a, 0) / n).toFixed(1) // calculate average and round to 1 digit });
 td, tfoot th:nth-child(2) {text-align:right}
 <form><input type="text" id="grade" placeholder="Please enter a grade ..."></form> <table id="mytbl"> <thead> <tr> <th>no.</th> <th>grade</th> </tr> </thead> <tbody></tbody> <tfoot> <tr> <th>avg.:</th> <th></th> </tr> </tfoot> </table>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda