Rumah >pembangunan bahagian belakang >C++ >Program C++ untuk menukar pembolehubah jenis int kepada rentetan

Program C++ untuk menukar pembolehubah jenis int kepada rentetan

PHPz
PHPzke hadapan
2023-09-03 22:05:033877semak imbas

Program C++ untuk menukar pembolehubah jenis int kepada rentetan

Pembolehubah jenis integer dalam C++ boleh menyimpan nilai integer positif atau negatif dalam julat yang telah ditetapkan. Pembolehubah rentetan boleh menyimpan jujukan huruf, nombor dan aksara khas. Terdapat banyak kes penggunaan di mana penukaran daripada int kepada rentetan diperlukan. Kami membincangkan 3 cara berbeza untuk menukar pembolehubah integer kepada rentetan.

Jika kita bercakap tentang algoritma, ia sangat mudah. Kami mendapat input dalam pembolehubah integer dan kemudian menukarnya kepada pembolehubah rentetan.

Gunakan fungsi to_string

Cara paling mudah untuk menukar nilai integer kepada rentetan dalam C++ ialah menggunakan fungsi to_string. Fungsi to_string tersedia secara lalai ia menerima nilai integer sebagai input dan menyediakan nilai rentetan sebagai output. Mari kita lihat contoh berikut untuk memahami konsep ini dengan lebih lanjut.

Tatabahasa

int ip = <integer value>;
string op = std::to_string(ip);

Algoritma

  • Dapatkan input dalam pembolehubah integer.
  • Gunakan fungsi to_string untuk menukar nilai integer kepada rentetan dan menyimpannya dalam pembolehubah rentetan.
  • Tunjukkan hasil.

Contoh

#include <iostream>
using namespace std;
string solve(int ip) {
   //using the to_string function
   return to_string(ip);
}
int main()
{
   int ip = 10;
   string op = solve(ip);
   cout<< "The input value is: " << ip << endl;
   cout<< "The output value is: " + op << endl;
   return 0;
}

Output

The input value is: 10
The output value is: 10

Dalam contoh ini, kami menggunakan fungsi to_string untuk menukar nilai integer kepada rentetan. Satu perkara yang perlu diambil perhatian apabila memaparkan output; kami menggunakan operator sisipan (

Gunakan ostringstream

ostringstream ialah penimbal rentetan yang mengandungi jujukan aksara. Dalam kaedah ini, kami memasukkan nilai integer ke dalam objek aliran ostring dan kemudian memformatnya menjadi rentetan.

Tatabahasa

int ip = <integer value>;
ostringstream oss;
oss << ip;
string op = oss.str();

Algoritma

  • Dapatkan input dalam pembolehubah integer.
  • Lepaskan pembolehubah integer input kepada objek aliran ostring.
  • Tugaskan perwakilan rentetan objek aliran ostring kepada pembolehubah keluaran rentetan.
  • Tunjukkan hasil.

Contoh

#include <iostream>
#include <sstream>

using namespace std;
string solve(int ip) {
   //using ostringstream
   ostringstream oss;
   oss << ip;
   return oss.str();
}

int main()
{
   int ip = 10;
   string op = solve(ip);

   cout<< "The input value after addition of 10 is: " << ip + 10 << endl;
   cout<< "The output value after addition of 10 is: " << op + "10" << endl;
   return 0;
}

Output

The input value after addition of 10 is: 20
The output value after addition of 10 is: 1010

Dalam contoh sebelumnya, kami menambah nilai integer 10 pada nilai input untuk menunjukkan bahawa ia adalah nilai integer dan menambah rentetan "10" pada nilai output untuk menunjukkan bahawa ia adalah nilai rentetan.

Gunakan sprintf

sprintf ialah fungsi perpustakaan standard dalam C++ yang menghantar output terformat ke rentetan str. Menggunakan fungsi sprintf kita boleh menukar integer kepada rentetan.

Tatabahasa

int ip = <integer value>;
char str[100];
sprintf(str, "%d", ip);
string s = str;

Algoritma

  • Dapatkan input dalam pembolehubah integer.
  • Lepaskan pembolehubah integer input dan penimbal aksara kepada fungsi sprintf.
  • Tetapkan penimbal aksara kepada pembolehubah rentetan yang terhasil.
  • Tunjukkan hasil.

Contoh

#include <iostream>
using namespace std;
string solve(int ip) {
   char str[100];
   sprintf(str, "%d", ip);
   string s = str;
   return s;
}

int main()
{
   int ip = 10;
   string op = solve(ip);
   cout<< "The input value after addition of 10 is: " << ip + 10 << endl;
   cout<< "The output value after addition of 10 is: " << op + "10" << endl;
   return 0;
}

Output

The input value after addition of 10 is: 20
The output value after addition of 10 is: 1010

Contoh ini sama dengan contoh sebelum ini cuma bezanya kaedah penukaran. Untuk menggunakan sprintf, kami tidak perlu mengimport mana-mana perpustakaan lain.

Kesimpulan

Kita mungkin perlu menukar integer kepada rentetan pada pelbagai keadaan, terutamanya untuk mengeluarkan data daripada pengiraan menggunakan fungsi yang hanya menyokong hujah rentetan. Kaedah pertama yang kami bincangkan adalah yang paling mudah, tetapi ia boleh didapati bermula dengan C++ 11. Kaedah kedua menggunakan ostringstream memerlukan pengimportan sstream perpustakaan lain, manakala kaedah terakhir menggunakan sprintf memerlukan aksara tambahan atau penimbal rentetan untuk menukar nilai integer kepada rentetan. Kaedah terpantas ialah yang pertama, tetapi jika ia tidak berfungsi kerana pengkompil yang sudah lapuk, dua kaedah lain harus berfungsi.

Atas ialah kandungan terperinci Program C++ untuk menukar pembolehubah jenis int kepada rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam