【C#】数値と文字列の変換方法
スポンサーリンク

概要

本記事では、文字列⇒数値または、数値⇒文字列へ変換する方法を紹介します。
また、10進文字列と16進文字列の扱いについて説明します。

  1. 文字列⇒数値
    1. Purseメソッド
      1. 10進文字列⇒数値
      2. 16進文字列⇒数値
    2. TryPurseメソッド
      1. 10進文字列⇒数値
      2. 16進文字列⇒数値
    3. Convertクラス
      1. 10進文字列⇒数値
      2. 16進文字列⇒数値
  2. 数値⇒文字列
    1. ToStringメソッド
      1. 数値⇒10進文字列
      2. 数値⇒16進文字列
    2. Convertクラス
      1. 数値⇒10進文字列
      2. 数値⇒16進文字列

文字列⇒数値

Purseメソッド

10進数文字列⇒数値

string str1 = "10";

int num1 = int.Parse(str1);

Console.WriteLine($"{str1} -> {num1}");
実行結果

10 -> 10

16進数文字列⇒数値

string str1 = "A";

int num1 = int.Parse(str1, System.Globalization.NumberStyles.HexNumber);

Console.WriteLine($"{str1} -> {num1}");
実行結果

A -> 10

注意点

変換失敗時は例外が発生するため、例外を補足する必要があります。
例外を発生させたくない場合は、TryPurseメソッドを使用します。

TryPurseメソッド

10進数文字列⇒数値

string str1 = "10";
int num1 = 0;

if (Int32.TryParse(str1, out num1))
{
	Console.WriteLine($"{str1} -> {num1}");
}
else
{
	Console.WriteLine($"error: {str1}");
}
実行結果

10 -> 10

16進数文字列⇒数値

string str1 = "A";
int num1 = -1;

if (Int32.TryParse(str1, System.Globalization.NumberStyles.HexNumber, null, out num1))
{
	Console.WriteLine($"{str1} -> {num1}");
}
else
{
	Console.WriteLine($"error: {str1}");
}
実行結果

A -> 10

Convertクラス

10進数文字列⇒数値

string str1 = "10";

int num1 = Convert.ToInt32(str1);

Console.WriteLine($"{str1} -> {num1}");
実行結果

10 -> 10

16進数文字列⇒数値

string str1 = "A";

int num1 = Convert.ToInt32(str1, 16);

Console.WriteLine($"{str1} -> {num1}");
実行結果

A -> 10

数値⇒文字列

ToStringメソッド

数値⇒10進数文字列

int num1 = 10;

string str1 = num1.ToString();

Console.WriteLine($"{str1}");
実行結果

10

数値⇒16進数文字列

int num1 = 10;

string str1 = num1.ToString("X");

Console.WriteLine($"{str1}");
実行結果

A

Convertクラス

数値⇒10進数文字列

int num1 = 10;

string str1 = Convert.ToString(num1);

Console.WriteLine($"{str1}");
実行結果

10

数値⇒16進数文字列

int num1 = 10;

string str1 = Convert.ToString(num1, 16);

Console.WriteLine($"{str1}");
実行結果

a

スポンサーリンク
おすすめの記事