C++ Array Char To Int

4 min read Jul 05, 2024
C++ Array Char To Int

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:

  1. #include <cstdlib>: menyertakan header yang berisi fungsi atoi().
  2. char char_array[] = "1234";: mendeklarasikan array karakter yang berisi string angka.
  3. int integer_value = atoi(char_array);: menggunakan atoi() untuk mengubah array karakter menjadi integer.
  4. 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:

  1. int integer_value = 0;: mendeklarasikan variabel integer untuk menyimpan nilai yang dikonversi.
  2. 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:

  1. #include <sstream>: menyertakan header yang berisi class stringstream.
  2. stringstream ss;: mendeklarasikan objek stringstream.
  3. ss << char_array;: memasukkan array karakter ke dalam stringstream.
  4. ss >> integer_value;: mengekstrak integer dari stringstream dan menyimpannya ke variabel integer_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.

Latest Posts


Featured Posts