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

294
Vistas
How to I make it so my calculator will calculate multiple digits?

When I calculate single digits like 4+3 or even 9*9, it does it just fine, but when I attempt to do multiple digits, it only calculates the first digit for each number. For example, 54+28 gives me 14. I'm not sure where the bug is, so here's my code except the stuff I know isn't important:



function reducer(state, {type, payload}){
 switch(type) {
   case ACTIONS.ADD_DIGIT:
     if(state.overwrite) {
       return {
         ...state,
         currentOperand: payload.digit,
         overwrite: false,
       }
     }
  

   
      
       return {
         ...state,
         previousOperand: evaluate(state),
         operation: payload.operation,
         currentOperand: null
       }

     case ACTIONS.EVALUATE:
       if(
         state.operation == null || 
         state.currentOperand == null || 
         state.previousOperand == null
         ) {
         return state
       }
       return {
         ...state,
         overwrite: true,
         previousOperand: null,
         operation:null,
         currentOperand: evaluate(state),
       }
 }
}

function evaluate({currentOperand, previousOperand, operation}){
 const prev = parseFloat(previousOperand)
 const current = parseFloat(currentOperand)
 if (isNaN(prev) || isNaN(current)) return ""
 let computation = ""
 switch(operation) {
   case "+":
     computation = prev + current
     break
   case "-":
     computation = prev - current
     break
   case "*":
     computation = prev * current
     break
   case "÷":
     computation = prev / current
     break
 }
 return computation.toString()
}

about 4 years ago · Juan Pablo Isaza
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