2011-01-25 50 views
65

Tôi muốn chuyển đổi stringdata thành NSInteger.Chuyển đổi NSString thành NSInteger?

+2

Nếu bạn google nó, bạn có thể dễ dàng có được câu trả lời trong các hit đầu tiên bản thân – KingofBliss

+19

Bạn nên chấp nhận câu trả lời cho câu hỏi của bạn. – BoltClock

+3

Tại thời điểm nào các câu hỏi bị bỏ rơi như thế này có được "đấu giá" cho cộng đồng để mua với các điểm danh tiếng .... hmmm :-) –

Trả lời

131

Nếu chuỗi là một đại diện có thể đọc được con người của một số, bạn có thể làm điều này:

NSInteger myInt = [myString intValue];
+53

Tôi tin rằng bên phải của biểu thức phải là [myString integerValue], không? –

+0

'[myString intValue]' là một mặt tối ahaha –

+4

intValue trả về một int, integerValue trả về một NSInteger. int luôn là kiểu int, nhưng NSInteger thay đổi kiểu cho thiết bị đã biên dịch. Có nhiều hơn về điều đó, nhưng nó được khuyến khích sử dụng NSInteger khi nào có thể. –

71

[myString intValue] trả về một CTYPE "int"

[myString integerValue] trả về một NSInteger.

Trong hầu hết các trường hợp, tôi tìm thấy các hàm đơn giản này bằng cách xem các tham chiếu lớp táo, cách nhanh nhất để đến đó là nhấn nút [tùy chọn] và nhấn đúp vào khai báo lớp (trong trường hợp này là NSString).

+2

mẹo đơn giản và tiện dụng. :) –

1
int myInt = [myString intValue]; 
NSLog(@"Display Int Value:%i",myInt); 
18

Tôi đã tìm thấy đây là câu trả lời đúng.

NSInteger myInt = [someString integerValue]; 
-3
NSString *string = [NSString stringWithFormat:@"%d", theinteger]; 
+0

Ông yêu cầu đảo ngược điều này. – Lev

6
NSNumber *tempVal2=[[[NSNumberFormatter alloc] init] numberFromString:@"your text here"]; 

trả về NULL nếu chuỗi hoặc trả NSNumber

NSInteger intValue=[tempVal2 integerValue]; 

lợi nhuận nguyên của NSNumber

0

này là an toàn hơn integerValue:

-(NSInteger)integerFromString:(NSString *)string 
{ 
    NSNumberFormatter *formatter=[[NSNumberFormatter alloc]init]; 
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
    NSNumber *numberObj = [formatter numberFromString:string]; 
    return [numberObj integerValue]; 
} 
Các vấn đề liên quan