It is currently 22 April 2025, 13:52 Advanced search

toLocaleString non funziona correttamente.

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

toLocaleString non funziona correttamente.

Postby mromini » 25 March 2019, 12:52

Ciao, la funzione javascript standard di localizzazione di numeri e date non funziona correttamente sui server "standard" di IN.DE Cloud. Ovvero se prendo un numero tipo 1000.55 e lo mostro facendo una toLocateString("it-IT") questo verrà visualizzato come 1,000.55 e non 1.000,55. Stessa cosa per le date: se creo una variabile data e le assegno il valore 22/01/2019 e lo mostro con la toLocateString("it-IT") questa verrà visualizzata come 01/22/2019.
Dopo una ricerca sul web mi pare di aver capito che il problema dipende dal fatto che Node.JS viene installato di default con la solo localizzazione en-US quindi lui applica quella a qualsiasi localizzazione richiesta.
Ovviamente esiste anche una soluzione al problema che è quella di installare il pacchetto npm full-icu e poi dire a node di caricare tutte le localizzazioni al momento dell'avvio.

https://www.npmjs.com/package/full-icu
https://techoverflow.net/2018/09/19/fixing-nodejs-intl-datetimeformat-not-formatting-properly-for-locales/

Avendo a disposizione un server MyCloud che quindi gestisco io ho applicato la soluzione proposta e funziona correttamente, ora i numeri e le date vengono correttamente visualizzati nel formato "italiano".

Esisteva un modo più semplice per ottenere il risultato voluto (e quindi visualizzare correttamente le date ed i numeri sui server gestiti da IN.DE Cloud sulla Google Cloud Platform)?

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: toLocaleString non funziona correttamente.

Postby m.sirri » 26 March 2019, 8:14

Il nostro consiglio è quello di usare le funzioni di formattazione di moment.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: toLocaleString non funziona correttamente.

Postby mromini » 26 March 2019, 15:57

Ciao Matteo, se non ho capito male però moment funziona solo per le date (e non ho capito come fare per farlo funzionare...). Per i numeri come faccio?

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: toLocaleString non funziona correttamente.

Postby m.sirri » 26 March 2019, 16:19

Guardando la documentazione ll metodo toLocaleString ha dei parametri in cui puoi specificargli quale locale usare.

https://developer.mozilla.org/en-US/doc ... caleString
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: toLocaleString non funziona correttamente.

Postby mromini » 27 March 2019, 7:55

Ciao Matteo, lo so che la toLacaleString ha un parametro tramite il quale puoi indicare la localizzazione che vuoi ma sui server IN.DE Cloud sulla GoogleCloudPlatform quel parametro viene ignorato in quanto, come scritto nel mio primo messaggio di questo post, node.js di default viene installato con la sola localizzazione en-US e quindi io posso passare come parametro alla toLocaleString('it-IT') ma verrà ignorato.

Tu mi suggerivi di usare moment per le date e può essere una soluzione (anche se non ho capito come funziona e soprattutto come passargli la localizzazione che voglio utilizzare) ma per i numeri? Non credo che moment funzioni anche per quelli.

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: toLocaleString non funziona correttamente.

Postby m.sirri » 27 March 2019, 13:39

Per le date se crei i moment con la nostra funzione app.locale.moment esso è già localizzato in base all'utente.

Per i numeri ovviamente non va bene moment.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: toLocaleString non funziona correttamente.

Postby mromini » 27 March 2019, 15:30

Ok, cmq ho aperto un malfunzionamento perché ho due comportamenti diversi su server diversi (non MyCloud).

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 7 guests