elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] ¿Alguien me podría explicar que significa este pequeño código?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] ¿Alguien me podría explicar que significa este pequeño código?  (Leído 2,705 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Resuelto] ¿Alguien me podría explicar que significa este pequeño código?
« en: 24 Agosto 2019, 20:05 pm »

Buenos días, me gustaría saber que hace este código.
Su función sería recibir como parámetro un numero "150000" y devolvería o lo transformaría en "150.000", un problema con esta función es que el "1000" no lo transforma en "1.000" comienza a transformar cuando hay 4 ceros o más. Pero para poder resolver eso primero necesito entender que quiere decir el código jeje

Código
  1. function formatNumber(n)
  2. {
  3. n = String(n).replace(/\D/g, "");
  4.   return n === '' ? n : Number(n).toLocaleString();
  5. }
  6.  

Gracias!


« Última modificación: 9 Septiembre 2019, 21:01 pm por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: [Pregunta]: ¿Alguien me podría explicar que significa este pequeño código?
« Respuesta #1 en: 24 Agosto 2019, 20:59 pm »

Código
  1. n = String(n).replace(/\D/g, "");

Esto lo que hace es buscar cualquier cosa que no sea un número (\D) y quitarlo. Es un regex. En el fondo, lo que hace es borrar todo los caracteres que no sean un numero y asigna a n los números.

Código
  1. return n === '' ? n : Number(n).toLocaleString();

Comprueba si esta vacía en cuyo caso la devuelve o si no esta vacía devuelve un numero formateado con toLocaleString().




A ti lo que te interesa de ese código es toLocaleString().

https://developer.mozilla.org/es/docs/Web/javascript/Referencia/Objetos_globales/Number/toLocaleString
El método toLocaleString() retorna una cadena que contiene una representación del número acorde al idioma.

Si lo que te interesa es imprimir moneda, puedes usar:

Código
  1. number.toLocaleString(undefined, { style: 'currency', currency: 'EUR'})


Ten en cuenta que si no defines el locale (primer parámetro), intenta determinarlo del navegador. Mi navegador por ejemplo esta configurado en ingles entonces me toma el modo de representar números inglés, creo que estadounidense en concreto xD.

Saludos


En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Alguien me podría explicar que significa este pequeño código?
« Respuesta #2 en: 24 Agosto 2019, 21:13 pm »

Muchas gracias amigo, ya pude arreglarlo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines