Rumah >pembangunan bahagian belakang >C++ >Program C++ untuk menukar pembolehubah int kepada dua kali ganda
Dalam C++, pembolehubah jenis Int digunakan untuk menyimpan nilai integer positif atau negatif, tetapi jenis ini tidak boleh mengandungi nilai perpuluhan. Untuk ini, terdapat nilai apungan dan berganda. Jenis data Double direka khusus untuk mengekalkan nilai perpuluhan hingga tujuh tempat perpuluhan. Penukaran antara pembolehubah integer dan berganda boleh dikendalikan secara automatik oleh pengkompil, dipanggil penukaran "tersirat", atau ia boleh dicetuskan secara eksplisit kepada pengkompil oleh pengaturcara. Kami akan membincangkan kaedah penukaran yang berbeza dalam bab berikut.
Penukaran jenis tersirat dilakukan secara automatik oleh pengkompil. Untuk mencapai ini, kita memerlukan dua pembolehubah; satu jenis integer dan satu lagi jenis titik terapung. Kemudian kita hanya menetapkan nilai integer atau pembolehubah kepada pembolehubah titik terapung dan segala-galanya akan diuruskan oleh pengkompil.
int input = <integer value>; double output = input;
#include <iostream> using namespace std; double solve(int value) { double opVal = value; return opVal; } int main() { int ip = 25; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 25 The output value is: 25
Seperti yang kita lihat, proses penukaran adalah sangat mudah. Kita tidak perlu melakukan sesuatu yang istimewa, hanya berikan pembolehubah input kepada pembolehubah output.
Penukaran eksplisit berlaku apabila pengaturcara secara eksplisit mengarahkan pengkompil untuk menukar satu jenis data kepada yang lain. Ini boleh dicapai dalam dua cara, dengan menentukan jenis data semasa tugasan, atau dengan menggunakan static_cast. Kami menerangkan kaedah pertama terlebih dahulu.
Ini juga boleh dilakukan dengan dua cara berbeza. Satu ialah versi gaya C dan satu lagi ialah penukaran gaya berfungsi.
Terjemahan bahasa Cina bagiKami menyebut jenis data hasil sebelum pembolehubah sumber atau nilai yang terkandung dalam kurungan.
int input = <integer value>; double output = (double) input;
#include <iostream> using namespace std; double solve(int value) { double opVal = (double) value; return opVal; } int main() { int ip = 35; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 35 The output value is: 35
Kami menyebut jenis data hasil dan apabila menghantar parameter ke fungsi, sertakan nilai sumber dalam kurungan.
int input = <integer value>; double output = double(input);
#include <iostream> using namespace std; double solve(int value) { double opVal = double(value); return opVal; } int main() { int ip = 45; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 45 The output value is: 45
int input = <integer value>; double output = static_cast<double>(input);
#include <iostream> using namespace std; double solve(int value) { double opVal = static_cast<double>(value); return opVal; } int main() { int ip = 55; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 55 The output value is: 55
Daripada tiga contoh terakhir, kita dapat melihat bahawa proses penukaran eksplisit adalah hampir serupa sama ada menggunakan static_cast, penukaran gaya C atau penukaran gaya fungsi. Dalam ketiga-tiga kes kita perlu menyebut jenis data hasil sebelum tugasan.
Meliputi beberapa kaedah menukar integer kepada nilai berganda. Pengaturcara mesti menentukan kaedah penukaran yang terbaik untuk situasi tertentu, kerana senario penukaran yang berbeza memerlukan kaedah penukaran yang berbeza. Walau bagaimanapun, kerana penukaran tersirat berlaku secara automatik, pengaturcara tidak perlu risau tentang menguatkuasakan strategi yang kompleks.
Atas ialah kandungan terperinci Program C++ untuk menukar pembolehubah int kepada dua kali ganda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!