C++でintをcharに変換する方法を紹介します。
1. int to char (暗黙的なキャスト)
以下のように char ch = i
と入力すると、暗黙的にint型をchar型にキャストします。変数の値は97に変わりませんが、整数97をASCIIに出力するとaに出力されます。
#include <iostream>
int main()
{
int i = 97;
char ch = i;
std::cout << ch << std::endl;
return 0;
}
Output:
a
2. int to char (明示的な形変換)
上記の例では暗黙的に形変換を行いましたが、 (char) i
のように明示的にchar型に形変換することができます。
#include <iostream>
int main()
{
int i = 97;
char ch = (char) i;
std::cout << ch << std::endl;
return 0;
}
Output:
a
3. int to char (明示的な形変換)
static_cast<char>
のようにstatic_castで明示的に型キャストを行うことができます。
#include <iostream>
int main()
{
int i = 97;
char ch = static_cast<char>(i);
std::cout << ch << std::endl;
return 0;
}
Output:
a
4. 0~9の間の整数をcharに変換
intをcharに変換して出力するとASCIIに出力されるため、intの値として出力されません。 0から9の間の整数をASCIIの0から9に変換するには、「0」を追加するだけです。 「0」のASCII値は48で、ASCII「9」のint値は「48 + 9」になるためです。
#include <iostream>
int main()
{
int zero = 0;
int five = 5;
int nine = 9;
char ch1 = zero + '0';
char ch2 = five + '0';
char ch3 = nine + '0';
std::cout << ch1 << std::endl;
std::cout << ch2 << std::endl;
std::cout << ch3 << std::endl;
return 0;
}
Output:
0
5
9