Terkadang  kita perlu melakukan konversi tipe data string ke bilangan(bisa integer atau float) atau sebaliknya. Seperti halnya kalo kita akan menghitung suatu bilangan yang kita inputkan pada aplikasi windows. Data yang diinputkan dari user merupakan data dengan tipe string, sehingga untuk melakukan operasi pada bilangan tersebut perlu dikonversi ke bilangan, baik itu bilangan integer atau double. Begitu juga ketika kita akan menampilkan hasil operasi pada pengguna, terkadang perlu melakukan konversi dari bilangan ke string.

Terdapat banyak cara dalam melakukan konversi dengan C++. Dalam  tulisan ini akan dijelaskan cara konversi dari string ke tipe lainya (untuk konversi  ke string, saya sarankan untuk menggunakan objek Format() dari class CString, soalnya lebih fleksibel dan mudah untuk semua tipe data)  :

String to integer

  • atoi()  : string ke int
  • _wtoi() : string ke int
  • atol () : string ke long int
  • _wtol() : string ke long int

String to double

  • atof () : string ke double
  • _wtof() : string ke double


All to string

- Format(“%specifier”,data)

Untuk specifier :

  • · c : untuk tipe char
  • · d atau I : untuk tipe integer
  • · e atau E : notasi scientific
  • · f atau g atau G : untuk tipe double atau float
  • · o : untuk bilangan octal
  • · s : untuk tipe string
  • · u : untuk unsign integer
  • · x atau X : untuk tipe hexa decimal
  • · p : untuk pointer
  • · n : menghasilkan kosong

Contoh program :

void CKonversiDlg::OnConvert()
{
  CString str, str_a, str_b, str_c;
  m_data.GetWindowText(str);
  int a;
  long int b;
  double c;
  a = atoi(str);  // konversi string ke int
  b = atol(str);  // konversi string ke long int
  c = atof(str);  // konversi string ke double
  str_a.Format("%d",a); // int ke string
  str_b.Format("%i",b); // long int ke string
  str_c.Format("%f",c); // double ke string
  // tampilkan hasil
  CString data;
  data.Format(("%s , %s , %s"), str_a, str_b, str_c);
  AfxMessageBox(data);
}

Referensi :

Oleh :

Advertisement