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

161
Vistas
¿Cómo redondear números racionales usando JavaScript?

Quiero dividir 1000/3 como ejemplo y establecer la respuesta en una entrada. mi problema es que no quiero que float , así que redondeé así

 const answer = Math.round(1000/3);

Cuando los configuro en 3 entradas, todos son 333 y la respuesta de su suma es 999, pero quiero que uno de ellos sea 334 y los otros 333. ¿Cómo puedo manejar eso en general? Gracias por tu ayuda

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

0

quiero que uno de ellos sea 334 y los otros 333

Simplemente agregue uno a 1000 para ser 1001 entonces:

 let s1 = Math.round(1000/3); //333 let s2 = Math.round(1000/3); //333 let s3 = Math.round(1000/3); //333 console.log(s1+s2+s3); //999 let s4 = Math.round(1001/3); //334 console.log(s2+s3+s4); //1000

about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay una función genérica que dividirá su entero k en n partes cuya suma es k :

 const arr = [] , splitInteger = (num, parts) => { let sum = 0; for (let i = 0; i < parts - 1; i++) { const curr = Math.floor(num/parts) arr.push(curr) sum += curr } arr.push(num - sum) } // Splitting 1000 into 3 parts splitInteger(1000, 3) console.log(arr) // Let's try 7 parts arr.length = 0 splitInteger(1000, 7) console.log(arr)

about 4 years ago · Juan Pablo Isaza Denunciar

0

quiero que uno de ellos sea 334 y los otros 333, ¿cómo puedo manejar eso en general?

¿Qué tan generales? No estoy seguro de que haya una respuesta perfecta. Sin embargo, según su ejemplo, usaría algo como lo siguiente:

 var input = 1000 var divisors = 3 var value = Math.round(input/divisors) var display1 = value var display2 = value var display3 = input - value * (divisors-1) console.log( display1, display2, display3 )

En ciertas circunstancias, es posible que deba tener más cuidado con el redondeo, pero para rangos de números enteros de 0 a 100, esto debería estar bien.

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