14

NSString に数字があり@"15"ます。これをNSUIntegerに変換したいのですが、やり方がわかりません...

4

4 に答える 4

27
NSString *str = @"15";
// Extract an integer number, returns 0 if there's no valid number at the start of the string.
NSInteger i = [str integerValue];

本当に NSUInteger が必要な場合は、キャストするだけですが、事前に値をテストすることをお勧めします。

于 2010-05-01T11:30:38.217 に答える
19

現在選択されている回答は、NSUInteger に対して正しくありません。Corey Floyd が選択した回答に関するコメントを指摘しているように、値が INT_MAX より大きい場合、これは機能しません。これを行うためのより良い方法は、NSNumber を使用してから、NSNumber のメソッドの 1 つを使用して、関心のある型を取得することです。

NSString *str = @"15"; // Or whatever value you want
NSNumber *number = [NSNumber numberWithLongLong: str.longLongValue];
NSUInteger value = number.unsignedIntegerValue;
于 2014-04-01T20:16:26.893 に答える
0

[string longLongValue]またはで試すことができ[string intValue]ます..

于 2010-05-01T11:30:11.993 に答える