Ubah string menjadi int

87

Saya mengalami masalah saat mengubah string menjadi integer. Saya mencarinya di Google tetapi yang bisa saya temukan hanyalah cara mengubah int menjadi string. Adakah yang tahu bagaimana melakukannya dengan cara lain? Terima kasih.

MacN00b
sumber

Jawaban:

22

Bagaimana tentang

[@"7" intValue];

Selain itu jika Anda mau, NSNumberAnda bisa melakukannya

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
Paul.s
sumber
6
tuan yang baik NSNumberFormatter itu kompleks ... maksud saya "fitur lengkap".
Dave Dopson
4
Hati-hati - di iOS7 numberFromStringtampaknya merupakan metode instance daripada metode kelas , jadi Anda harus melakukannya [[NSNumberFormatter new] numberFromString:@"7"];.
mgarciaisaia
@mgarciaisaia seharusnya tidak kita lakukan [[[NSNumberFormatter alloc] init] numberFromString:@"7"];sesuai stackoverflow.com/questions/719877/…
Michael Osofsky
3

Saya menggunakan:

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

Dan sebaliknya:

NSString* intToString(NSInteger integer) {
    return [NSString stringWithFormat:@"%d", integer];
}
max_
sumber
1
periksa nilai pengembalian Anda. NSString *
AWF4vk
Saya menggunakan data yang ditarik dari NSUserDefaults jadi apa yang harus saya masukkan setelah NSString * string =
MacN00b
Akankah salah satu dari ini benar-benar berfungsi? Tentunya definisi perlu titik koma atau Anda akan crash dengan unrecognized selectorkarena Anda benar-benar akan mengirimkan @selector(intToString:)tidak @selector(intToString). Tentunya seharusnya seperti ini - (NSInteger) stringToInt:(NSString *)string;dan- (NSString *)intToString:(NSInteger)integer;
Paul.
1
Keduanya adalah fungsi C. Itu perlu NSString *, seperti yang dikatakan @David.
Espresso
@Espresso cheers Saya tidak memiliki latar belakang dalam C jadi lebih masuk akal sekarang
Paul.
2

Swift 3.0:

Int("5")

atau

let stringToConvert = "5"
Int(stringToConvert)
Josh O'Connor
sumber
1

Ini adalah solusi sederhana untuk mengubah string menjadi int

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

tapi saat Anda mendapatkan nilai dari bidang teks ,

int num = [txtField.text intValue];

di mana txtField adalah outlet UITextField

iAnkit
sumber
1

Saya harus melakukan sesuatu seperti ini tetapi ingin menggunakan getter / setter untuk saya. Secara khusus saya ingin kembali lama dari textfield. Jawaban lain semuanya juga bekerja dengan baik, saya akhirnya menyesuaikan jawaban saya sedikit saat proyek sekolah saya berkembang.

long ms = [self.textfield.text longLongValue];
return ms;
natur3
sumber
0
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Alexsander Akers
sumber
Saya menggunakan data yang ditarik dari NSUserDefaults jadi apa yang harus saya masukkan setelah NSString * string =
MacN00b
1
NSString * string = [[NSUserDefaults standardUserDefaults] stringForKey: @ "YOUR_KEY"];
Benjamin Mayo
0

Sangat mudah..

int (name of integer) = [(name of string, no ()) intValue];

Yakub
sumber
0

Cara lain: jika Anda bekerja dengan string C, misalnya const char *, C native atoi()lebih nyaman.

dotslashlu
sumber
0

Anda juga bisa menggunakan seperti:

NSInteger getVal = [self.string integerValue];

newbee
sumber
0

Untuk mengonversi nomor String menjadi Int , Anda harus melakukan ini:

let stringNumber = "5"
let number = Int(stringNumber)
Ale Mohamad
sumber
Ini adalah duplikat tepat dari jawaban yang sudah ada.
Pranav Kasetti