Rakamdan sonra dizemde yüzde işareti olmasını istiyorum. Böyle bir şey:% 75.
Bunu nasıl yapabilirim? Denedim:
[NSString stringWithFormat:@"%d\%", someDigit];
Ama benim için işe yaramadı.
Rakamdan sonra dizemde yüzde işareti olmasını istiyorum. Böyle bir şey:% 75.
Bunu nasıl yapabilirim? Denedim:
[NSString stringWithFormat:@"%d\%", someDigit];
Ama benim için işe yaramadı.
Yanıtlar:
Yüzde işareti kod NSString
formatında olduğunu %%
. Bu NSLog()
ve printf()
biçimler için de geçerlidir .
NSLog
ilk bağımsız değişkenine biçim dizesi gibi davranır, ancak dizeyi kullanarak biçimlendirdiniz stringWithFormat:
. Sadece söyle NSLog(@"%@%%", self.Ptextfield.text)
.
Yüzde işareti için kaçış kodu "%%", dolayısıyla kodunuz şöyle görünür
[NSString stringWithFormat:@"%d%%", someDigit];
Ayrıca, diğer tüm format belirteçleri Kavramsal Dizeler Makaleleri'nde bulunabilir.
Bu bazı durumlarda yardımcı olursa, unicode karakterini kullanmak mümkündür:
NSLog(@"Test percentage \uFF05");
\uFF05
o parçası olduğunda benim için çalışıyor NSString
in UILocalNotification
değil %%
. Teşekkürler!
Kabul edilen cevap UILocalNotification için çalışmaz. Herhangi bir nedenle, %%%%
(yüzde 4 işaret) veya unicode karakter ' \uFF05
' sadece bunun için çalışır.
Özetlemek gerekirse, dizenizi biçimlendirirken kullanabilirsiniz %%
. Ancak, dizeniz bir UILocalNotification öğesinin parçasıysa, %%%%
veya öğesini kullanın \uFF05
.
%%
a ile takip edilirse %@
, NSString
bazı garip kodlara gidecek bunu deneyin ve bu benim için çalıştı
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];
iOS 9.2.1, Xcode 7.2.1, ARC etkin
'%' Karakterini her zaman eklediğiniz dizede başka bir format belirleyicisi olmadan ekleyebilirsiniz, örneğin ...
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);
İOS7.0 + için
Cevabı, çatışmanıza neden olabilecek diğer karakterlere genişletmek için kullanmayı seçebilirsiniz:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Adım adım yazılan şöyle görünür:
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [[stringTest stringByAppendingString:@"%"]
stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]];
stringTest = [stringTest stringByRemovingPercentEncoding];
NSLog(@"percent value of test: %@", stringTest);
Veya kısa el:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
Tüm orijinal katılımcılara teşekkürler. Bu yardımcı olur umarım. Şerefe!