2015-10-31 13 views
5

Oto niektóre wartość pływaka:zer wiodących dla pływaka w Swift

5.3 
23.67 
0.23 

i chcę im być

05.30 
23.67 
00.23 

Korzystanie String(format: "%.2f", floatVar) można zrobić 2 cyfry po przecinku, ale nie można dodać zera przed to.

Próbowałem zostały również String(format: "%04.2f", floatVar) jak sugerują here ale po prostu wyświetla same jak %.2f

Czy istnieje czysty sposób to zrobić w ciągu Swift bibliotek standardowych?

+0

Try ' "% *. 2f"'. Pamiętam, że działało to w C. – Arc676

+0

@ Arc676 nic nie zwracało :( – Arefly

+0

'*' oznacza, że ​​jeszcze jeden argument jest używany jako liczba całkowita w miejsce '*. To nie działa lepiej niż'% 5.2f' lub gorzej, i jest to rodzaj bezużytecznej sugestii bez wyjaśnienia, co robi. –

Odpowiedz

13

Spróbuj tego:

String(format: "%05.2f", floatChar) 

Od this documentation: 0 oznacza pad go wraz z zerem. 5 to minimalna szerokość, , w tym znak kropki.

+0

co jeśli minimalna szerokość jest> 10 jak "15"? – Arefly

0

Albo mogę spróbować mocniejszy API NumberFormatter

let numberFormatter = NumberFormatter() 
// more settings 
numberFormatter.minimumIntegerDigits = 2