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.

Jawaban:



22

Bagaimana tentang

[@"7" intValue];

Selain itu jika Anda mau, NSNumberAnda bisa melakukannya

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

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];
}

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.


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


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;

0
NSString *string = /* Assume this exists. */;
int value = [string intValue];

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];


0

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


0

Anda juga bisa menggunakan seperti:

NSInteger getVal = [self.string integerValue];


0

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

let stringNumber = "5"
let number = Int(stringNumber)

Ini adalah duplikat tepat dari jawaban yang sudah ada.
Pranav Kasetti
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.