Quiero tener un signo de porcentaje en mi cadena después de un dígito. Algo como esto: 75%.
¿Cómo puedo hacer esto? Lo intenté:
[NSString stringWithFormat:@"%d\%", someDigit];
Pero no funcionó para mí.
objective-c
nsstring
string-literals
Ilya Suzdalnitski
fuente
fuente
NSLog
trata su primer argumento como una cadena de formato, pero ya ha formateado la cadena usandostringWithFormat:
. Solo diloNSLog(@"%@%%", self.Ptextfield.text)
.El código de escape para un signo de porcentaje es "%%", por lo que su código se vería así
Además, todos los demás especificadores de formato se pueden encontrar en Artículos de cadenas conceptuales
fuente
Si eso ayuda en algunos casos, es posible usar el carácter unicode:
fuente
\uFF05
que funciona para mí cuando forma parte de laNSString
enUILocalNotification
, no%%
. ¡Gracias!La respuesta aceptada no funciona para UILocalNotification. Por alguna razón,
%%%%
(signos de 4 por ciento) o el carácter unicode '\uFF05
' solo funcionan para esto.Para recapitular, al formatear su cadena puede usar
%%
. Sin embargo, si su cadena es parte de una UILocalNotification, use%%%%
o\uFF05
.fuente
parece que si se
%%
sigue con un%@
,NSString
iré a algunos códigos extraños, prueba esto y esto funcionó para mífuente
Código siguiente portugués.
producirá: % Bhupi%
fuente
iOS 9.2.1, Xcode 7.2.1, ARC habilitado
Siempre puede agregar el '%' por sí mismo sin ningún otro especificador de formato en la cadena que está agregando, así ...
Para iOS7.0 +
Para expandir la respuesta a otros caracteres que podrían causarle conflictos, puede optar por usar:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Escrito paso a paso se ve así:
O mano corta:
Gracias a todos los colaboradores originales. Espero que esto ayude. ¡Salud!
fuente