Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

168
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!