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

120
Vistas
Formato de moneda en euros

Estoy trabajando en un componente cuyo valor de formato se representa en diferentes formatos, como dólar y euro, con comas y puntos. Tengo una entrada de dólar en funcionamiento, sin embargo, mi entrada de euro no funciona y la entrada no obtiene los valores correctos que ingresé, he intentado diferentes soluciones pero no puedo encontrar la pieza que falta. Esta es la versión muy minimizada del componente y el enlace de sandbox. Gracias por adelantado.

Caja de arena https://codesandbox.io/s/elated-sea-7328g?file=/src/App.js

 import "./styles.css"; import {useState} from "react"; export default function App() { const [inputValue, setInputValue] = useState(""); const [inputUsdValue, setinputUsdValue] = useState(""); const currencyFunction = (formatData) => { return new Intl.NumberFormat('it-IT').format(formatData) } const currencyFunctionDolar = (formatData) => { return new Intl.NumberFormat('en-US').format(formatData) } return ( <div className="App" style={{display: "flex", flexFlow: "column"}}> <h1>Test component</h1> <p>Euro format</p> <p>Euro format example {currencyFunction(123456789)}</p> <input value={currencyFunction(inputValue)} onChange={e => { setInputValue(e.target.value.replace(/,/g, '.').replace(/([a-zA-Z ])/g, "")) }} style={{marginBottom: 20}} /> <p>Usd format</p> <p>Usd format example {currencyFunctionDolar(123456789)}</p> <input value={currencyFunctionDolar(inputUsdValue)} onChange={e => { setinputUsdValue(e.target.value.replace(/,/g, '').replace(/([a-zA-Z ])/g, "").replace(/^0+/, '')) }} /> </div> ); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Para su evento onChange en la moneda del euro, desea eliminar el . de la misma manera que está eliminando el , por los dólares, y puede lograrlo de la siguiente manera:

 setInputValue(e.target.value.replace(/[.]/g, '').replace(/([a-zA-Z ])/g, "").replace(/^0+/, ''))

La razón para adjuntar el . entre paréntesis ( [] ) es porque es un carácter especial en las expresiones regulares.

Ejemplo de sandbox de trabajo:https://codesandbox.io/s/ecstatic-wilson-or7qd?file=/src/App.js

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