Saya ingin memiliki tanda persentase di string saya setelah satu digit. Sesuatu seperti ini: 75%.
Bagaimana saya bisa melakukan ini? Saya mencoba:
[NSString stringWithFormat:@"%d\%", someDigit];
Tetapi itu tidak berhasil untuk saya.
objective-c
nsstring
string-literals
Ilya Suzdalnitski
sumber
sumber
NSLog
memperlakukan argumen pertamanya sebagai format string, tetapi Anda telah memformat string menggunakanstringWithFormat:
. Katakan sajaNSLog(@"%@%%", self.Ptextfield.text)
.Kode melarikan diri untuk tanda persen adalah "%%", sehingga kode Anda akan terlihat seperti ini
Juga, semua penentu format lainnya dapat ditemukan di Artikel Konseptual String
sumber
Jika itu membantu dalam beberapa kasus, dimungkinkan untuk menggunakan karakter unicode:
sumber
\uFF05
bekerja untuk saya ketika itu adalah bagian dariNSString
dalamUILocalNotification
, tidak%%
. Terima kasih!Jawaban yang diterima tidak berfungsi untuk UILocalNotification. Untuk beberapa alasan,
%%%%
(tanda 4 persen) atau karakter unicode '\uFF05
' hanya berfungsi untuk ini.Jadi untuk rekap, saat memformat string Anda dapat Anda gunakan
%%
. Namun, jika string Anda adalah bagian dari UILocalNotification, gunakan%%%%
atau\uFF05
.sumber
Sepertinya jika
%%
diikuti dengan%@
,NSString
akan pergi ke beberapa kode aneh coba ini dan ini berhasil untuk sayasumber
kode berikut ini.
akan menampilkan: % Bhupi%
sumber
iOS 9.2.1, Xcode 7.2.1, ARC diaktifkan
Anda selalu dapat menambahkan '%' dengan sendirinya tanpa penentu format lain dalam string yang Anda tambahkan, seperti ...
Untuk iOS7.0 +
Untuk memperluas jawaban ke karakter lain yang dapat menyebabkan konflik, Anda dapat memilih untuk menggunakan:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Ditulis langkah demi langkah seperti ini:
Atau tangan pendek:
Terima kasih kepada semua kontributor asli. Semoga ini membantu. Bersulang!
sumber