【C#】Convert.ToInt32メソッドで値を32ビット符号付き整数に変換する方法
Convert.ToInt32メソッドとは
C#のConvert.ToInt32()メソッドは、指定した値を32ビット符号付き整数(int型)に変換するためのメソッドです。double型やstring型など、さまざまな型の値をint型へ変換できます。
なお、Convert.ToInt32は「銀行家丸め(バンカーズ・ラウンディング)」と呼ばれる丸め方式を採用しています。値がちょうど中間(例:11.5)の場合は最も近い偶数に丸められ、それ以外の場合は一般的な四捨五入と同じ動作になります。
double型の値を変換する手順
まず、double型の変数を用意します。
double doubleNum = 11.53;
次に、Convert.ToInt32メソッドを使って、この値をInt32(int型)に変換します。
int intNum; intNum = Convert.ToInt32(doubleNum);
サンプルコード
using System;
public class Demo {
public static void Main() {
double doubleNum = 11.53;
int intNum;
intNum = Convert.ToInt32(doubleNum);
Console.WriteLine("Converted {0} to {1}", doubleNum, intNum);
}
}実行結果
Converted 11.53 to 12
このように、小数点以下を持つ11.53が、Convert.ToInt32メソッドによって12に丸められ、int型へ変換されていることがわかります。
使用時の注意点
- nullを渡した場合:例外は発生せず、
0が返されます。 - 範囲外の値を渡した場合:int型の範囲(-2,147,483,648 ~ 2,147,483,647)を超える値を指定すると、
OverflowExceptionがスローされます。
数値文字列を変換する際には、形式が不正な場合にFormatExceptionが発生する点にも留意してください。安全に扱いたい場合は、事前にint.TryParseなどで検証を行うことをおすすめします。
-
C#のConvert.ToUInt16メソッドで文字列を16ビット符号なし整数に変換する方法
C#では、Convert.ToUInt16メソッドを使用することで、指定した値を16ビット符号なし整数(ushort型)に変換することができます。 まず、変換対象となる文字列を用意します。 string str = 1129; この文字列を、Convert.ToUInt16メソッドを使って16ビット符号なし整数へ変換してみましょう。 ushort res; res = Convert.ToUInt16(str); 以下に、完全なサンプルプログラムを示します。 サンプルコード using System; public class Demo { public static void Ma
-
C#のConvert.ToInt16メソッドの使い方を解説
C#のConvert.ToInt16メソッドを使うと、指定した値を16ビット符号付き整数(short型)に変換することができます。基本的な使い方まず、double型の変数に値を初期化して代入してみましょう。double doubleNum = 3.456;この値をInt16、つまりshort型に変換します。変換にはConvert.ToInt16メソッドを使用します。short shortNum; shortNum = Convert.ToInt16(doubleNum);小数点以下の値は四捨五入されて整数に変換される点に注意してください。上記の例では3.456が3に変換されます。サンプルコード