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

Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int

PHPz
PHPzke hadapan
2023-08-25 20:25:185699semak imbas

Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int

Dalam C++, pembolehubah jenis int hanya boleh menyimpan nilai integer positif atau negatif; Terdapat nilai terapung dan berganda tersedia untuk tujuan ini. Jenis data berganda dicipta untuk menyimpan perpuluhan sehingga tujuh digit selepas titik perpuluhan. Penukaran integer kepada jenis data berganda boleh dilakukan secara automatik oleh pengkompil (dipanggil penukaran "tersirat"), atau ia boleh diminta secara eksplisit oleh pengaturcara daripada pengkompil (dipanggil penukaran "eksplisit"). Dalam bahagian berikut, kami akan merangkumi pelbagai kaedah penukaran.

Penukaran tersirat

Pengkompil secara automatik melakukan penukaran jenis tersirat. Untuk mencapai matlamat ini, dua pembolehubah diperlukan - satu jenis titik terapung dan satu lagi jenis integer. Apabila kita hanya menetapkan nilai titik terapung atau pembolehubah kepada pembolehubah integer, pengkompil menjaga semua perkara lain. Penukaran ini mengalami kehilangan data kerana pembolehubah integer tidak boleh mengandungi nilai perpuluhan selepas titik perpuluhan.

Tatabahasa

double input = <double value>;
int output = input;

Algoritma

  • Ambil nilai berganda sebagai input;
  • Tetapkan nilai kepada pembolehubah integer.
  • Tunjukkan output.

Contoh

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = value;
   return opVal;
}

int main()
{
   double ip = 25.3056;
   int op = solve(ip);
   cout<< "The input value is: " << ip << endl;
   cout<< "The output value is: " << op << endl;
   return 0;
}

Output

The input value is: 25.3056
The output value is: 25

Seperti yang kita lihat, proses penukaran agak mudah. Kami hanya menetapkan pembolehubah input kepada pembolehubah keluaran tiada prosedur tambahan diperlukan. Juga, anda boleh melihat bahawa bahagian pecahan nilai berganda tidak terdapat dalam output.

Penukaran eksplisit

Apabila pengaturcara secara eksplisit mengarahkan pengkompil untuk menukar satu jenis data kepada yang lain, ini dipanggil penukaran eksplisit atau penukaran jenis eksplisit. Terdapat dua cara untuk mencapai ini: satu ialah mengisytiharkan jenis data secara eksplisit semasa tugasan, dan satu lagi ialah menggunakan static_cast. Kami telah membincangkan kaedah pertama sebelum ini.

Algoritma

  • Ambil nilai berganda sebagai input;
  • Gunakan penukaran jenis eksplisit untuk menetapkan nilai kepada pembolehubah integer.
  • Tunjukkan output.

Sebutkan jenis data semasa tugasan

Terdapat dua kaedah pelaksanaan yang berbeza. Satu ialah versi gaya C dan satu lagi ialah penukaran gaya berfungsi.

Versi gaya C

Jenis data hasil ditentukan sebelum pembolehubah sumber, disertakan dalam kurungan.

Tatabahasa

double input = <double value>;
int output = (int) input;

Contoh

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = (int)value;
   return opVal;
}

int main()
{
   double ip = 84.4439;
   int op = solve(ip);
   cout<< "The value before conversion: " << ip << endl;
   cout<< "The value after conversion: " << op << endl;
   return 0;
}

Output

The value before conversion: 84.4439
The value after conversion: 84

Pemutus berfungsi

Apabila memberikan hujah kepada fungsi, kami mengisytiharkan jenis data hasil dan menyertakan nilai sumber dalam kurungan.

Tatabahasa

double input = <double value>;
int output = int(input);

Contoh

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = int(value);
   return opVal;
}

int main()
{
   double ip = -993.6571;
   int op = solve(ip);
   cout<< "The value before conversion: " << ip << endl;
   cout<< "The value after conversion: " << op << endl;
   return 0;
}

Output

The value before conversion: -993.657
The value after conversion: -993

Gunakan static_cast

Untuk menukar antara jenis yang dipratentukan, gunakan cast statik. Selain itu, pelakon ini, yang juga boleh dirujuk secara eksplisit, bertanggungjawab untuk menguatkuasakan penukaran jenis tersirat.

Tatabahasa

double input = < double value>;
int output = static_cast<int>(input);

Contoh

#include <iostream>
using namespace std;

int solve(double value) {
   int opVal = static_cast<int>(value);
   return opVal;
}

int main()
{
   double ip = -65.2354;
   int op = solve(ip);
   cout<< "The value before conversion: " << ip << endl;
   cout<< "The value after conversion: " << op << endl;
   return 0;
}

Output

The value before conversion: -65.2354
The value after conversion: -65

Kesimpulan

Menukar daripada jenis data berganda kepada integer sentiasa mengakibatkan kehilangan data kerana pembolehubah integer tidak boleh mengandungi bahagian pecahan pembolehubah berganda. Penukaran ini berguna apabila kita perlu membundarkan nilai kepada nilai sempadan bawahnya (nilai integer terkecil yang diberi nilai perpuluhan).

Atas ialah kandungan terperinci Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int. 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