Mengonversi Array Char ke Integer dalam C++
Dalam pemrograman C++, terkadang kita perlu mengonversi array karakter menjadi nilai integer. Ini dapat berguna dalam berbagai skenario, seperti membaca input pengguna, memproses data string, atau melakukan operasi aritmatika.
Metode 1: Menggunakan fungsi atoi()
Fungsi atoi()
(ascii to integer) adalah fungsi bawaan dalam C++ yang dapat mengubah string ke integer. Berikut cara menggunakannya:
#include
#include
using namespace std;
int main() {
char char_array[] = "1234";
int integer_value = atoi(char_array);
cout << "Nilai integer: " << integer_value << endl;
return 0;
}
Penjelasan:
#include <cstdlib>
: menyertakan header yang berisi fungsiatoi()
.char char_array[] = "1234";
: mendeklarasikan array karakter yang berisi string angka.int integer_value = atoi(char_array);
: menggunakanatoi()
untuk mengubah array karakter menjadi integer.cout << "Nilai integer: " << integer_value << endl;
: menampilkan nilai integer yang dihasilkan.
Metode 2: Iterasi dan Perkalian
Jika Anda tidak ingin menggunakan fungsi atoi()
, Anda dapat menggunakan loop untuk mengiterasi array karakter dan melakukan perkalian untuk mengubahnya menjadi integer. Berikut contohnya:
#include
using namespace std;
int main() {
char char_array[] = "1234";
int integer_value = 0;
for (int i = 0; char_array[i] != '\0'; i++) {
integer_value = integer_value * 10 + (char_array[i] - '0');
}
cout << "Nilai integer: " << integer_value << endl;
return 0;
}
Penjelasan:
int integer_value = 0;
: mendeklarasikan variabel integer untuk menyimpan nilai yang dikonversi.- Loop iterasi melalui setiap karakter dalam array:
integer_value = integer_value * 10 + (char_array[i] - '0');
: kode ini melakukan perkalian dan penjumlahan untuk membangun nilai integer.integer_value * 10
: menggeser nilai integer ke kiri satu digit.(char_array[i] - '0')
: mengonversi karakter ke nilai numerik dengan mengurangi kode ASCII karakter '0'.
Metode 3: Menggunakan stringstream
Anda juga dapat menggunakan stringstream
untuk mengonversi array karakter ke integer. Berikut contohnya:
#include
#include
using namespace std;
int main() {
char char_array[] = "1234";
int integer_value;
stringstream ss;
ss << char_array;
ss >> integer_value;
cout << "Nilai integer: " << integer_value << endl;
return 0;
}
Penjelasan:
#include <sstream>
: menyertakan header yang berisi classstringstream
.stringstream ss;
: mendeklarasikan objekstringstream
.ss << char_array;
: memasukkan array karakter ke dalamstringstream
.ss >> integer_value;
: mengekstrak integer daristringstream
dan menyimpannya ke variabelinteger_value
.
Catatan
- Metode 1 (
atoi()
) adalah metode yang paling sederhana dan efisien untuk mengonversi array karakter ke integer. - Metode 2 (Iterasi dan perkalian) mungkin lebih kompleks, tetapi dapat berguna dalam situasi di mana fungsi
atoi()
tidak tersedia. - Metode 3 (
stringstream
) adalah metode yang lebih fleksibel dan dapat digunakan untuk mengonversi berbagai format data.
Pilihlah metode yang paling cocok untuk kebutuhan Anda.