Program C++ untuk menukar pembolehubah jenis int kepada rentetan

PHPz
Lepaskan: 2023-09-03 22:05:03
ke hadapan
3714 orang telah melayarinya

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);
Salin selepas log masuk

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;
}
Salin selepas log masuk

Output

The input value is: 10
The output value is: 10
Salin selepas log masuk

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 (<<) untuk memaparkan nilai integer, tetapi apabila kami memaparkan rentetan, kami hanya menggabungkan nilai output dengan rentetan sebelumnya untuk membuktikan bahawa ia adalah rentetan. <<) 来显示整数值,但是当我们显示字符串时,我们只是将输出值与前面的字符串连接起来以证明它是一个字符串。

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();
Salin selepas log masuk

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;
}
Salin selepas log masuk

Output

The input value after addition of 10 is: 20
The output value after addition of 10 is: 1010
Salin selepas log masuk
Salin selepas log masuk

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;
Salin selepas log masuk

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;
}
Salin selepas log masuk

Output

The input value after addition of 10 is: 20
The output value after addition of 10 is: 1010
Salin selepas log masuk
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!