Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

119
Visualizações
Cómo redondear un decimal al 0,5 más cercano (0,5, 1,5, 2,5, 3,5)

Quiero redondear un número al 0.5 más cercano. No todos los factores de 0.5 , solo los 0.5 s.

Por ejemplo, 0.5, 1.5, 2.5, -1.5, -2.5 . NO 1, 1.5, 2, 2.5 .

Me estoy confundiendo solo explicándolo, así que aquí hay algunos ejemplos de resultados esperados.

 0.678 => 0.5 0.999 => 0.5 1.265 => 1.5 -2.74 => -2.5 -19.2 => -19.5

He probado el siguiente código sin suerte,

 let x = 1.296; let y = Math.round(x); let z = y + Math.sign(y) * .5; // 1.5 (Correct!)
 let x = -2.6; let y = Math.round(x); let z = y + Math.sign(y) * .5; // -3.5 (WRONG, should be -2.5)

El código tiene sentido en mi cabeza, pero no funciona para números negativos. ¿Qué me estoy perdiendo que haría que esto funcione?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

 function getValue (a){ var lowerNumber = Math.floor(a); console.log(lowerNumber +0.5); } getValue(0.678); getValue(0.999); getValue(1.265); getValue(-2.74); getValue(-19.2);

parece que quieres un número completo más bajo + 0.5;

over 4 years ago · Santiago Trujillo Relatório

0

Primero, puede redondear a enteros por

 let x = 1.296; let y = Math.round(x);

Luego, puedes restar 0.5 primero, luego redondear y luego sumar 0.5

 let x = 1.296; let y = Math.round(x-0.5); let z = y + 0.5;
over 4 years ago · Santiago Trujillo Relatório

0

Puedes probar esta lógica:

  • Obtenga la parte decimal del número.
  • Compruebe si el valor es positivo o negativo. En base a esto inicializar un factor
    • Para positivo mantenerlo 1
    • Para negativo mantenerlo -1
  • Multiplica 0.5 con factor y sumalo a decimal

 var data = [ 0.678, -0.678, 0.999, 1.265, -2.74, -19.2 ] const output = data.map((num) => { const decimal = parseInt(num) const factor = num < 0 ? -1 : 1; return decimal + (0.5 * factor) }) console.log(output)

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda