次の方法で共有


方法 : string を int に変換する (C# プログラミング ガイド)

更新 : 2007 年 11 月

以下の例では、stringint に変換するためのいくつかの方法を示します。このような変換は、コマンド ライン引数から数値入力を取得するような場合などに便利です。string を、floatlong などの他の数値型に変換するための同様のメソッドがあります。それらのメソッドの一部を次の表に示します。

数値型

メソッド

decimal

ToDecimal(String)

float

ToSingle(String)

double

ToDouble(String)

short

ToInt16(String)

long

ToInt64(String)

ushort

ToUInt16(String)

uint

ToUInt32(String)

ulong

ToUInt64(String)

使用例

この例は、ToInt32(String) メソッドを呼び出し、"29" という string を int に変換します。その後、結果に 1 を加算し、出力を印刷します。

int numVal = Convert.ToInt32("29");
numVal++;

Console.WriteLine(numVal);
// Output: 30

string から int への変換は、System.Int32 構造体の Parse メソッドまたは TryParse メソッドによっても実行できます。ToUInt32 メソッドは、Parse を内部的に使用します。string の形式が無効である場合、Parse が例外をスローするのに対し、TryParse は例外をスローする代わりに false を返します。以下は、Parse および TryParse の呼び出しの成功例と失敗例の両方を示しています。

int numVal = Int32.Parse("-105");
Console.WriteLine(numVal);
// Output: -105
int j;
Int32.TryParse("-105", out j);
Console.WriteLine(j);
// Output: -105
try
{
    int m = Int32.Parse("abc");
}
catch (FormatException e)
{
    Console.WriteLine(e.Message);
}
// Output: Input string was not in a correct format.
string inputString = "abc";
int numValue;
bool parsed = Int32.TryParse(inputString, out numValue);

if (!parsed)
    Console.WriteLine("Int32.TryParse could not parse '{0}' to an int.\n", inputString);

// Output: Int32.TryParse could not parse 'abc' to an int.

参照

処理手順

方法 : 文字列が数値を表しているかどうかを確認する (C# プログラミング ガイド)

参照

型 (C# プログラミング ガイド)