Come è possibile utilizzare NumberFormat
per formattare un valore double
per un dato Locale
(le impostazioni locali predefinite sono sufficienti) e per un dato numero di posizioni decimali?Come formattare il doppio valore per una determinata località e il numero di cifre decimali?
Per esempio, ho questi valori:
double d1 = 123456.78;
double d2 = 567890;
e voglio stamparle nel seguente modo, per esempio con gli Stati Uniti localizzazione e 2 decimali:
123,456.78
567,890.00
I don' In questo caso, in realtà si preoccupa della modalità arrotondamento, perché questi valori doppi vengono acquisiti da un valore BigDecimal
con la scala specificata, quindi il loro numero di cifre decimali è sempre minore o uguale al numero di cifre decimali che si desidera stampare.
Edit:
per rendere le cose un po 'più chiaro, la cosa è che voglio per visualizzare soldi in un modo dipendente dalla localizzazione, ma con un numero fisso di cifre decimali. L'esempio precedente mostrava come i valori dovrebbero essere formattati se le impostazioni internazionali del sistema sono en_US
. Ora consente di dire, la lingua del sistema è cs_CZ
(Repubblica), quindi gli stessi numeri deve essere formattato in questo modo:
123 456,78
567 890,00
Ora, come posso impostare un NumberFormat per visualizzare sempre 2 cifre decimali, ma per visualizzare separatore di migliaia e punto decimale in base alla locale corrente?
Grazie mille – Sayka
@ Paweł Dyda Come devo convertire una stringa 123,456.78 in locale degli Stati Uniti per un valore doppio 123.456,78? – KJEjava48