كيفية إضافة النسبة المئوية تسجيل إلى nsstring
-
09-09-2019 - |
سؤال
أريد أن أحصل على علامة نسبة في سلسلة بلدي بعد رقم. شيء مثل هذا: 75٪.
كيف يمكنني القيام بذلك؟ حاولت:
[NSString stringWithFormat:@"%d\%", someDigit];
لكنه لم يعمل بالنسبة لي.
المحلول
رمز النسبة المئوية تسجيل الدخول NSString
التنسيق هو %%
. وبعد هذا صحيح أيضا ل NSLog()
و printf()
التنسيقات.
نصائح أخرى
رمز الهروب للحصول على علامة النسبة المئوية هو "٪٪"، لذلك سيبدو الكود الخاص بك
[NSString stringWithFormat:@"%d%%", someDigit];
أيضا، يمكن العثور على جميع محطات التنسيق الأخرى في السلاسل المفاهيمية المواد
إذا كان ذلك يساعد في بعض الحالات، فمن الممكن استخدام حرف Unicode:
NSLog(@"Test percentage \uFF05");
الإجابة المقبولة لا تعمل من أجل uilocalnotification. لسبب ما، %%%%
(4 في المئة علامات) أو حرف يونيكود "\uFF05
العمل فقط لهذا.
حتى لا تمصلا، عند تنسيق السلسلة التي قد تستخدمها %%
. وبعد ومع ذلك، إذا كانت السلسلة الخاصة بك جزء من uilocalnotification، فاستخدم %%%%
أو \uFF05
.
يبدو إذا %%
يتبع مع %@
, ، ال NSString
سوف تذهب إلى بعض الرموز الغريبة جرب هذا وهذا يعمل بالنسبة لي
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];
uese التعليمة البرمجية التالية.
NSString *searchText = @"Bhupi"
NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
سوف الإخراج: ٪ bhupi٪
iOS 9.2.1، XCode 7.2.1، تم تمكين القوس
يمكنك دائما إلحاق "٪" بحد ذاته دون أي محددات تنسيق أخرى في السلسلة التي تلدها، مثل ...
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);
ل iOS7.0 +.
لتوسيع الإجابة على الأحرف الأخرى التي قد تسبب في تعارضك في أن تختار استخدامها:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
مكتوب خطوة بخطوة يبدو هذا:
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [[stringTest stringByAppendingString:@"%"]
stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]];
stringTest = [stringTest stringByRemovingPercentEncoding];
NSLog(@"percent value of test: %@", stringTest);
أو اليد القصيرة:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
شكرا لجميع المساهمين الأصليين. أتمنى أن يساعدك هذا. هتافات!