2010-09-16 11 views
10

Come posso includere un simbolo di percentuale (%) nel mio NSString?Includere un '%' in una NSString?

[NSString stringWithFormat:@"Downloading (%1.0%)", percentage] 

Il codice precedente non include l'ultima percentuale nella stringa.

risposta

16

Carl ha ragione circa la fuga, ma da solo non funzionerà con il codice che hai dato. Manca un identificatore di formato dopo il primo segno di percentuale. Dato percentage è una doppia, provare:

[NSString stringWithFormat:@"Downloading (%.1f %%)", percentage]; 

nota la %.1f, per la formattazione di una doppia con un decimale. Questo dà 45.5 %. Utilizzare %.f senza decimali.

vedere anche http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/strings/Articles/formatSpecifiers.html

+0

Grazie mille - non posso credere che stavo lasciando fuori lo specificatore di formato. Guardando il codice per troppo tempo ieri. – TomH

12

Utilizzare %% per evitare il segno di percentuale.

+0

Grazie! Tuttavia, %% non ha funzionato ma %%% ha funzionato. Vai a capire. – TomH

+1

@ TomH, quindi hai ancora qualcosa di sbagliato con il tuo codice - controlla la risposta di @Mads per maggiori dettagli. –

2
[NSString stringWithFormat:@"Downloading (%g%%)",  percentage];