আমি একটি রূপান্তর করতে চাই int একটি থেকে NSStringউদ্দেশ্য সি
কিভাবে আমি এটি করতে পারব?
আমি একটি রূপান্তর করতে চাই int একটি থেকে NSStringউদ্দেশ্য সি
কিভাবে আমি এটি করতে পারব?
উত্তর:
আদিমরাশি @()অভিব্যক্তিতে বস্তুতে রূপান্তরিত হতে পারে । তাই সবচেয়ে কম পথ রুপান্তর হয় intকরতে NSNumberএবং স্ট্রিং উপস্থাপনা কুড়ান stringValueপদ্ধতি:
NSString *strValue = [@(myInt) stringValue];
অথবা
NSString *strValue = @(myInt).stringValue;
stringValueতবে সবগুলি রয়েছে description- তাই একটি ভাল অনুশীলন হিসাবে এটি ব্যবহারে অভ্যস্ত হওয়া ভাল description( NSNumberএটি করার জন্য এখানে কোনও চিন্তা করার দরকার নেই)। এটি চেষ্টা করুন ( descriptionতারিখটি মুদ্রণ করবে তবে stringValueক্র্যাশ হবে):NSNumber *test = (id)[NSDate date]; NSLog(@"description: %@", test.description); NSLog(@"string value: %@", test.stringValue);
@(myInt)একটি হল বাক্সযুক্ত অভিব্যক্তি জন্য [NSNumber numberWithInt:]এবং এটি সবসময় একটি NSNumber ফিরে আসবে যখন কোন int দেওয়া। [NSNumber stringValue]সর্বদা একটি এনএসএসস্ট্রিং ফিরিয়ে দেবে। আপনার মন্তব্যের কোডে, জোর করে (id)ingালাই করা এবং কোনও ভিন্ন ধরণের নির্ধারণ করা একটি পরিষ্কার প্রোগ্রামিং ভুল: আপনার কখনই এটি করা উচিত নয়। এটি কোনও পদ্ধতির সাঁতার কাটা এবং তারপরে সেই পদ্ধতিটি মূলত যা করছে তা না করে সে সম্পর্কে একটি যুক্তি তৈরি করার মতো।
!) ব্যবহার না করে আপনার মন্তব্যটিকে সুইফটে রূপান্তর করার চেষ্টা করুন এবং আপনি বুঝতে পারবেন যে আপনি এটি উদ্দেশ্য-সি-তে ভুলভাবে করছেন doing যদি বস্তুটি testআপনি তৈরি করেননি, তবে এটি আপনার দায়িত্ব নয়। আপনি isKindOfClass:আপনার প্রাপ্ত সমস্ত প্যারামিটারের জন্য কল করার চেষ্টা করতে পারেন , তবে এটিও বোকা বানানো যেতে পারে (উদাহরণস্বরূপ এনএসবজেক্টের পরিবর্তে স্ট্রাক্ট পাস করে)। সুতরাং এটি করবেন না: কেবল প্রত্যাশিত প্রকারগুলি ডকুমেন্ট করুন।
(id)বিষয়টিকে নিক্ষেপ করা একটি ভুল, এটি কেবলমাত্র সেই বিষয়টি ডেমো করার জন্য যে আইএমওর descriptionচেয়ে বেশি পছন্দ হয় stringValue(আমি ভুল হতে পারি, বছরের পর বছর ধরে ওবজিসিতে প্রোগ্রাম করা হয়নি)
NSString *string = [NSString stringWithFormat:@"%d", theinteger];
@(myInt)এটি একটি বক্সযুক্ত অভিব্যক্তি , এটি একটি এনএসএনবার দেয় returns
যদি এই স্ট্রিংটি শেষ ব্যবহারকারীর কাছে উপস্থাপনের জন্য হয় তবে আপনার ব্যবহার করা উচিত NSNumberFormatter। এটি হাজার হাজার বিভাজক যুক্ত করবে এবং ব্যবহারকারীর জন্য স্থানীয়করণ সেটিংসকে সম্মান করবে:
NSInteger n = 10000;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
NSString *string = [formatter stringFromNumber:@(n)];
মার্কিন যুক্তরাষ্ট্রে, উদাহরণস্বরূপ, এটি একটি স্ট্রিং তৈরি করবে 10,000, তবে জার্মানিতে, এটি হবে 10.000।
NSString *strValue = @(myInt).stringValue;