ฉันมีปัญหาในการแปลงสตริงเป็นจำนวนเต็ม ฉัน googled มัน แต่สิ่งที่ฉันหาได้คือการแปลง int เป็นสตริง มีใครรู้วิธีทำอีกบ้างไหม? ขอบคุณ.
ฉันมีปัญหาในการแปลงสตริงเป็นจำนวนเต็ม ฉัน googled มัน แต่สิ่งที่ฉันหาได้คือการแปลง int เป็นสตริง มีใครรู้วิธีทำอีกบ้างไหม? ขอบคุณ.
คำตอบ:
ดูNSString ชั้นอ้างอิง
NSString *string = @"5";
int value = [string intValue];
เกี่ยวกับ
[@"7" intValue];
นอกจากนี้หากคุณต้องการNSNumber
คุณสามารถทำได้
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
ดูเหมือนจะเป็นวิธีการอินสแตนซ์มากกว่าคลาสหนึ่งดังนั้นคุณควรทำ[[NSNumberFormatter new] numberFromString:@"7"];
แทน
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];
ตามstackoverflow.com/questions/719877/…
ฉันใช้:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
และในทางกลับกัน:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selector
เพราะคุณจะจริงจะส่งไม่ได้@selector(intToString:)
@selector(intToString)
แน่นอนว่ามันควรจะเป็นแบบนี้แทน- (NSInteger) stringToInt:(NSString *)string;
และ- (NSString *)intToString:(NSInteger)integer;
NSString *
เช่นที่ @David กล่าว
Swift 3.0:
Int("5")
หรือ
let stringToConvert = "5"
Int(stringToConvert)
นี่เป็นวิธีง่ายๆสำหรับการแปลงสตริงเป็น int
NSString *strNum = @"10";
int num = [strNum intValue];
แต่เมื่อคุณได้รับคุณค่าจากฟิลด์ข้อความแล้ว
int num = [txtField.text intValue];
โดยที่txtFieldเป็นทางออกของUITextField
ฉันต้องทำอะไรแบบนี้ แต่ต้องการใช้ getter / setter สำหรับฉัน โดยเฉพาะอย่างยิ่งฉันต้องการคืนความยาวจากฟิลด์ข้อความ คำตอบอื่น ๆ ก็ใช้ได้ดีเช่นกันฉันเพิ่งปรับตัวของฉันเล็กน้อยเมื่อโครงการโรงเรียนของฉันพัฒนาขึ้น
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
ง่ายมาก..
int (name of integer) = [(name of string, no ()) intValue];
อีกวิธีหนึ่ง: หากคุณกำลังทำงานกับสตริง C เช่น const char * C native atoi()
จะสะดวกกว่า
คุณยังสามารถใช้เช่น:
NSInteger getVal = [self.string integerValue];
ในการแปลงหมายเลขStringเป็นIntคุณควรทำสิ่งนี้:
let stringNumber = "5"
let number = Int(stringNumber)