simbolo signo porcentaje poner hace cómo computadora como objective-c nsstring string-literals

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], @"%%"];