【C#】charをintに変換する

Sponsored Links

charをintに変換する方法は色々とやり方がある。
例えば、int.Parse(‘1’)を実行すれば、1が帰ってくる。
他にも、int output; int.TryParse(‘1’, output);と実行すれば、outputに1、もし、intに変換できない’a’を変換すると、outputには0が入る。

これらのファンクションを使用しない方法として、’0’を引くことで、int型へ変換することができる。(*変換というと多少語弊があるかも)

char型は基本的にはASCIIコードの数値にポインタしているのみでint i = ‘a’と実行すると、iには、aはASCIIコードの97番目のため、i=97となる。

そのため、下記のようなコードを書くことで、変換したい数字のASCIIコード マイナス 0のASCIIコードとなり、結果、変換したい数字がint型を求めることができる。

int i = '9' - '0'; //'9'が変換したいchar型の数字

ただし、これが本当に数字かどうかは、iが0以上9以下ということを確認して上げる必要がある。

数字に関わらず、例えば、int i = ‘b’ – ‘a’; を実行するとi=1となる。これは、bは、aから数えて、1番次のASCIIコードとなるから。

IT
Sponsored Links
Sponsored Links
Sponsored Links
ようさんチョットでぶ
Copied title and URL
Bitnami