एक स्ट्रिंग को एक इंट में बदलें


87

मुझे एक स्ट्रिंग को पूर्णांक में बदलने में परेशानी हो रही है। मैंने इसे googled लेकिन सभी मैं पा सकता हूँ कि एक int को एक स्ट्रिंग में कैसे बदला जाए। क्या किसी को पता है कि इसे दूसरे तरीके से कैसे करना है? धन्यवाद।

जवाबों:



22

कैसा रहेगा

[@"7" intValue];

इसके अतिरिक्त यदि आप चाहें तो आप NSNumberकर सकते हैं

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];

6
अच्छा भगवान NSNumberFormatter जटिल है ... मेरा मतलब है "सुविधा पूर्ण"।
डेव डॉपसन

4
बाहर देखो - iOS7 में एक वर्ग के बजाय numberFromStringएक उदाहरण विधि प्रतीत होती है , इसलिए आपको इसके बजाय करना चाहिए । [[NSNumberFormatter new] numberFromString:@"7"];
मर्गिसिसिया

@mgarciaisaia को हमें stackoverflow.com/questions/719877/… के[[[NSNumberFormatter alloc] init] numberFromString:@"7"]; अनुसार नहीं करना चाहिए
माइकल ऑसोफस्की

3

मैं उपयोग करता हूं:

NSInteger stringToInt(NSString *string) {
    return [string integerValue];
}

और इसके विपरीत:

NSString* intToString(NSInteger integer) {
    return [NSString stringWithFormat:@"%d", integer];
}

1
अपना रिटर्न मान जांचें। NSString *
AWF4vk

मैं NSUserDefaults से खींचे गए डेटा का उपयोग कर रहा हूं इसलिए NSString * string =
MacN00b

क्या इनमें से कोई भी वास्तव में काम करेगा? निश्चित रूप से परिभाषाओं को एक अर्ध उपनिवेश की आवश्यकता है या आप इसके साथ दुर्घटनाग्रस्त unrecognized selectorहो जाएंगे क्योंकि आप वास्तव में @selector(intToString:)नहीं भेजेंगे @selector(intToString)। निश्चित रूप से इसके बजाय ऐसा होना चाहिए - (NSInteger) stringToInt:(NSString *)string;और- (NSString *)intToString:(NSInteger)integer;
पॉल। जूल

1
वे दोनों सी कार्य कर रहे हैं। NSString *हालांकि, इसकी आवश्यकता है , जैसे @ डेविड ने कहा।
एस्प्रेसो

@ एस्प्रेसो चीयर्स मैं सी में कोई पृष्ठभूमि नहीं है इसलिए अब अधिक समझ में आता है
पॉल


1

यह स्ट्रिंग को इंट में परिवर्तित करने का सरल उपाय है

NSString *strNum = @"10";
int num = [strNum intValue];

लेकिन जब आप टेक्स्टफील्ड से मूल्य प्राप्त कर रहे हैं तब,

int num = [txtField.text intValue];

जहां txtField UITextField का एक आउटलेट है


1

मुझे ऐसा कुछ करना था लेकिन मैं अपने लिए एक गेटटर / सेटर का उपयोग करना चाहता था। विशेष रूप से मैं एक टेक्स्टफील्ड से लंबा लौटना चाहता था। अन्य जवाब सभी ने अच्छी तरह से काम किया है, मैंने अभी-अभी अपना स्कूल प्रोजेक्ट विकसित होने के बाद मुझे अपना काम थोड़ा खत्म कर दिया है।

long ms = [self.textfield.text longLongValue];
return ms;



0

अभी तक एक और तरीका: यदि आप एक सी स्ट्रिंग के साथ काम कर रहे हैं, जैसे कि कॉस्ट चार *, सी देशी atoi()अधिक सुविधाजनक है।


0

आप भी इस तरह का उपयोग कर सकते हैं:

NSInteger getVal = [self.string integerValue];


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.