objective-c - signo - como poner el simbolo de porcentaje en la computadora
Cómo agregar signo de porcentaje a NSString (7)
El código de escape para un signo de porcentaje es "%%", por lo que su código se vería así
[NSString stringWithFormat:@"%d%%", someDigit];
Además, todos los demás especificadores de formato se pueden encontrar en Artículos de cadenas conceptuales
Quiero tener un signo de porcentaje en mi cadena después de un dígito. Algo así: 75%.
¿Cómo puedo hacer esto? Lo intenté:
[NSString stringWithFormat:@"%d/%", someDigit];
Pero no funcionó para mí.
El código para el signo de porcentaje en formato NSString
es %%
. Esto también es válido para los NSLog()
y printf()
.
Estas siguiendo el código.
NSString *searchText = @"Bhupi"
NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
producirá: % Bhupi%
La respuesta aceptada no funciona para UILocalNotification. Por alguna razón, %%%%
(signos del 4 por ciento) o el carácter Unicode '' /uFF05
'' solo funcionan para esto.
Para recapitular, cuando formatees tu cadena puedes usar %%
. Sin embargo, si su cadena es parte de una UILocalNotification, use %%%%
o /uFF05
.
Si eso ayuda en algunos casos, es posible usar el carácter Unicode:
NSLog(@"Test percentage /uFF05");
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, como ...
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);
Para iOS7.0 +
Para ampliar la respuesta a otros caracteres que puedan causarle conflicto, puede optar por utilizar:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Escrito paso a paso se ve así:
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [[stringTest stringByAppendingString:@"%"]
stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]];
stringTest = [stringTest stringByRemovingPercentEncoding];
NSLog(@"percent value of test: %@", stringTest);
O mano corta:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
Gracias a todos los colaboradores originales. Espero que esto ayude. ¡Aclamaciones!
parece que si %%
siguiera con un %@
, NSString
irá a algunos códigos extraños, intente esto y esto funcionó para mí
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];