C++で文字列ではなく文字char型を整数int型に変換する
String型の文字列をint型に変換するやり方はわかりますが、それだと1文字の場合変換できません。char型をintに変換することはなかなかないので知らない人も多いと思います。
ソースコード
方法としては、ASCIIコード表を用いて変換します。ASCIIコード表の48~57は文字の‘0’~’9′に対応しています。これを利用して変換していきます。
例えば、char型の‘7’の場合は55 – 48 = 7となることが分かると思います。これをint型にキャストしてやれば変換することができます。
#include <stdio.h>
#include <iostream>
int main()
{
char c = '3';
int n = 0;
n = (int)(c - '0');
std::cout << n + 3; // int型になっているか確認
return 0;
}
11行目ではちゃんとint型になっているか確認するために足し算をしています。