文字列をintに変換します


87

文字列を整数に変換できません。私はそれをググりましたが、私が見つけることができるのは、intを文字列に変換する方法です。誰かが逆にそれを行う方法を知っていますか?ありがとう。

回答:



22

いかがですか

[@"7" intValue];

さらに、あなたがしたいNSNumberなら

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

6
良き領主NSNumberFormatterは複雑です...私は「機能の完全性」を意味します。
Dave Dopson、2012

4
気をつけろ- iOS7でnumberFromStringあると思われるインスタンスメソッドではなく、クラスのあなたがする必要がありますので、1 [[NSNumberFormatter new] numberFromString:@"7"];の代わりに。
mgarciaisaia 2014

@mgarciaisaia我々はやるべきではありません[[[NSNumberFormatter alloc] init] numberFromString:@"7"];あたりとしてstackoverflow.com/questions/719877/...
マイケルOsofsky

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;
Paul.s

1
どちらもC関数です。NSString *@Davidが言ったように、それはそうである必要があります。
エスプレッソ2011

@Espressoは、C言語での経歴がないので
乾杯


1

これは文字列をintに変換するためのシンプルなソリューションです

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

しかし、テキストフィールドから値を取得しているとき、

int num = [txtField.text intValue];

ここで、txtFieldUITextFieldのアウトレットです。


1

私はこのようなことをしなければなりませんでしたが、私のゲッター/セッターを使用したいと思いました。特に、テキストフィールドからlongを返したかった。他の答えもすべてうまくいき、私の学校のプロジェクトが発展するにつれ、私のものを少し変えてしまいました。

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



0

さらに別の方法:const char *などのC文字列を使用している場合は、Cネイティブのatoi()方が便利です。


0

次のように使用することもできます:

NSInteger getVal = [self.string integerValue];


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.