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 NSStringformatında olduğunu %%. Bu NSLog()ve printf()biçimler için de geçerlidir .
NSLogilk 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");
\uFF05o parçası olduğunda benim için çalışıyor NSStringin UILocalNotificationdeğ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 %@, NSStringbazı 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!