/ / Formatta un numero su stringa con migliaia di separatori e ha sempre 2 cifre dopo il punto decimale in swift - stringa, swift, numeri, formattazione delle stringhe

Formatta un numero per stringere con migliaia di separatori e ha sempre 2 cifre dopo il punto decimale in rapido - stringa, rapido, numeri, formattazione di stringhe

Come formattare 5432.1 a 5,432.10.

Possiamo usare la formattazione delle stringhe per forzare mostrare sempre 2 cifre.

let n = 5432.1
let s = String(format: "%.2f", n)   //5432.10

Possiamo usare il formattatore di numeri per aggiungere migliaia di separatori.

let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
let s2 = formatter.stringFromNumber(n)  //5,432.1

Ma come possiamo combinare entrambi? C'è un modo per convertirlo direttamente? O devo manipolare quei due risultati di stringa per ottenere il risultato finale?

risposte:

5 per risposta № 1

Vedere NSNumberFormatter.minimumFractionDigits.

let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
formatter.minimumFractionDigits = 2
let s2 = formatter.stringFromNumber(n)  //5,432.10