Преобразование в int
Преобразование в int - это приведение значения
другого типа к целочисленному типу int.
В C++ такое преобразование может выполняться
неявно (автоматически компилятором) или явно
с помощью операторов приведения: static_cast,
C-style cast и других. При преобразовании
из double или float дробная часть
отбрасывается (округление происходит к нулю),
а не округляется по математическим правилам.
При преобразовании из строки используется
функция stoi или atoi.
Синтаксис
// неявное преобразование
int a = value;
// явное преобразование через static_cast
int b = static_cast<int>(value);
// C-style cast
int c = (int)value;
// преобразование строки в int
int d = stoi("12345");
Пример
Давайте преобразуем число с плавающей точкой
3.99 в целое число int:
#include <iostream>
using namespace std;
int main()
{
double num = 3.99;
int res = static_cast<int>(num);
cout << res << endl;
return 0;
}
Результат выполнения кода:
3
Пример
Давайте преобразуем строку "12345"
в целое число с помощью функции stoi:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "12345";
int res = stoi(str);
cout << res << endl;
return 0;
}
Результат выполнения кода:
12345
Пример
Давайте преобразуем символ 'A'
в целое число - получим его код ASCII:
#include <iostream>
using namespace std;
int main()
{
char ch = 'A';
int res = static_cast<int>(ch);
cout << res << endl;
return 0;
}
Результат выполнения кода:
65
Пример
Давайте преобразуем значение типа bool
в целое число. Значение true станет
1, а false - 0:
#include <iostream>
using namespace std;
int main()
{
bool flag = true;
int res = static_cast<int>(flag);
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Смотрите также
-
оператор
static_cast,
который выполняет явное преобразование типов -
оператор
C-style cast,
который выполняет приведение в стиле языка C -
функция
stoi,
которая преобразует строку в int -
функция
to_string,
которая преобразует число в строку