Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

284
Views
¿Cómo formatear el símbolo de moneda en Intl.NumberFormat?

En datos JSON, tengo ciertos valores de datos de moneda en el siguiente formulario:

 const currencyData = [ { "₹": "INR" }, { "¥": "JPY" }, { "€": "EUR" }, { "£": "GBP" } ];

Creé una función que acepta 2 parámetros, uno para 'cantidad' y otro para 'código de moneda', pero, ¿qué se puede hacer cuando el segundo parámetro es "$" o "¥", es decir, un símbolo de moneda? Mi intención es mapear el símbolo de moneda con los datos JSON anteriores y dar la salida relevante, como por ejemplo: se pasa "$", entonces debería filtrar la comparación con los datos JSON anteriores y pasar la salida "USD" y luego se puede pasar en la siguiente función

 const currencyFormatterNew = (amount, currCode) => { let currencyCode; try { if (currCode == "undefined" || currCode == "") { currencyCode = ""; } else { currencyCode = currCode; return new Intl.NumberFormat("en-US", { style: "currency", currency: currencyCode, minimumFractionDigits: 0 }).format(amount); } } catch (err) { console.log(err); } };

La función se llama de la siguiente manera: {currencyFormatterNew(10000, "JPY")}

¿Cuál sería la solución óptima para mapear el 'símbolo de moneda' con los datos json anteriores y luego proporcionar el resultado requerido que podría usarse en la función creada?

Aquí está el enlace de codesandbox: https://codesandbox.io/s/selection-and-operation-antd-4-17-0-alpha-0-forked-2sqzt

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

 const getCurrencyCode = (code) => { const k = currencyData.find(a => Object.keys(a) == code); return Object.entries(k)[0][1]; }

puedes probar esto Si lo desea, puede cambiar la última declaración de devolución de la siguiente manera

 return Object.values(k); // it will return an array
about 4 years ago · Juan Pablo Isaza Report

0

Después de que se haya cargado el JSON, almacene la matriz de datos currencyData en un objeto:

const currencyMap = Object.assign({}, ...currencyData)

Luego, puede usar el acceso a la propiedad [prop] para obtener el símbolo equivalente. Esto será mejor para el rendimiento ya que no necesita llamar a .find o similar cada vez que se llama a su función porque esas funciones hacen un bucle.

 const currencyData = [ { "₹": "INR" }, { "¥": "JPY" }, { "€": "EUR" }, { "£": "GBP" } ]; const currencyMap = Object.assign({}, ...currencyData) console.log(currencyMap); let symbol = '₹'; console.log(currencyMap[symbol]);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!