এনএসএসস্ট্রিং-এ কীভাবে শতাংশ চিহ্ন যুক্ত করবেন


456

আমি আমার স্ট্রিংয়ে একটি অঙ্কের পরে শতকরা সাইন রাখতে চাই। এর মতো কিছু: 75%।

আমি কীভাবে এটি করতে পারি? আমি চেষ্টা করেছিলাম:

[NSString stringWithFormat:@"%d\%", someDigit];

তবে এটি আমার পক্ষে কার্যকর হয়নি।

উত্তর:


943

শতাংশ সাইন ইন NSStringফর্ম্যাটের কোডটি %%। এটি সত্য NSLog()এবং printf()ফর্ম্যাটগুলির ক্ষেত্রেও সত্য ।


আমি এনএসএলগ ([এনএসএস স্ট্রিংউইটফর্ম্যাট: @ "% @%%", স্ব.পেক্সটফিল্ড.টেক্সট]) চেষ্টা করছি; এবং আউটপুটটি ইউটেক্সটফিল্ড.টেক্সট
আলী

2
NSLogএটির প্রথম যুক্তিকে বিন্যাসের স্ট্রিং হিসাবে বিবেচনা করে তবে আপনি ইতিমধ্যে স্ট্রিংটি ব্যবহার করে ফর্ম্যাট করেছেন stringWithFormat:। শুধু বলুন NSLog(@"%@%%", self.Ptextfield.text)
রব মেয়োফ

এটি ইউআইএলোকালনোটিকেশনের জন্য কাজ করে না। স্ট্যাকওভারফ্লো . com/a/27971848/2446178 দেখুন ।
JRam13

139

শতকরা চিহ্নের জন্য পালানোর কোডটি "%%", সুতরাং আপনার কোডটি এ জাতীয় দেখাচ্ছে

[NSString stringWithFormat:@"%d%%", someDigit];

এছাড়াও, অন্যান্য সমস্ত ফর্ম্যাট স্পেসিফায়ার কনসেপ্টুয়াল স্ট্রিংস নিবন্ধগুলিতে পাওয়া যাবে


এবং \% কাজ না করার কারণটি হ'ল ব্যাকস্ল্যাশ হ'ল স্ট্রিং লিটারালদের জন্য পালানোর চরিত্র, সুতরাং আপনার উত্স কোডে \% টাইপ করলে প্রকৃতপক্ষে একক শতাংশের অক্ষর যুক্ত স্ট্রিং তৈরি হয়।
gnasher729

17

যদি এটি কিছু ক্ষেত্রে সহায়তা করে তবে ইউনিকোড চরিত্রটি ব্যবহার করা সম্ভব:

NSLog(@"Test percentage \uFF05");

\uFF05আমার জন্য কাজ করে যখন এটা অংশ NSStringমধ্যে UILocalNotification, না %%। ধন্যবাদ!
স্কট

4
এটি চীনা বা জাপানি চরিত্রগুলির সাথে ব্যবহারের জন্য একটি "সম্পূর্ণ প্রস্থ শতকরা চিহ্ন", সাধারণ শতাংশের চরিত্রের থেকে অনেকটাই আলাদা।
gnasher729

7

গৃহীত উত্তরটি ইউআইএলোকালনোটিকেশনের জন্য কাজ করে না। কোনও কারণে, %%%%(4 শতাংশ লক্ষণ) বা ইউনিকোড চরিত্র ' \uFF05' কেবল এটির জন্য কাজ করে।

সুতরাং পুনরুদ্ধার করার জন্য, আপনার স্ট্রিংটি ফর্ম্যাট করার সময় আপনি ব্যবহার করতে পারেন %%। তবে, যদি আপনার স্ট্রিং কোনও ইউআইওলোকলনোটিকেশনের অংশ হয় তবে ব্যবহার করুন %%%%বা \uFF05


6

মনে যদি %%একটি অনুসরণ %@, NSStringকিছু অদ্ভুত কোডগুলির যাব এই চেষ্টা এবং এই আমার জন্য কাজ

NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%", 
                 [textfield text], @"%%"]; 

4

uese নিম্নলিখিত কোড।

 NSString *searchText = @"Bhupi"
 NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];

আউটপুট হবে: % ভূপী%


0

আইওএস 9.2.1, এক্সকোড 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]);

সমস্ত মূল অবদানকারীদের ধন্যবাদ। আশাকরি এটা সাহায্য করবে. চিয়ার্স!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.