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

72
Visualizações
Forzar cambio de tipo en TypeScript

Tengo una función que detecta si un tipo podría ser un número y lo cambia a Float siempre que sea posible, esto es muy útil para mí cuando obtengo datos convertidos de csv a JSON que encadenan todo.

 const possibleNum: string | number = '3' export const changeType = (entry: string | number) => { return !isNaN(parseFloat(entry)) ? parseFloat(entry) : entry } const res = changeType(possibleNum) console.log(typeof res) // number

Esto funciona bien con JavaScript normal, pero TypeScript no lo tiene.

yo obtengo

 `Argument of type 'string | number' is not assignable to parameter of type 'string'. Type 'number' is not assignable to type 'string'.ts(2345)`

¿Cómo puedo hacerlo?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El compilador no puede entender si se refiere a string o un number en parseFloat . Puede agregar otra condición if para que el compilador sepa que su tipo en parseFloat es una string 100%.

 const posibleNum: string | number = '3' const changeType = (entry: string | number) => { if(typeof entry === "number") { return entry } const parsedEntry = parseFloat(entry) return !isNaN(parsedEntry) ? parsedEntry : entry } const res = changeType(posibleNum) console.log(typeof res)

Patio de juegos

about 4 years ago · Juan Pablo Isaza Relatório

0

Gracias a la respuesta de Nick Vu me di cuenta de que también podía hacer esto:

parseFloat(entry as string)

 const possibleNum: string | number = '3' const changeType = (entry: string | number) => { const parseEntry = parseFloat(entry as string) return !isNaN(parseEntry) ? parseEntry : entry } const res = changeType(possibleNum) console.log(typeof res)

Patio de juegos

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