C#のConvert.ToSByteメソッドの使い方を徹底解説
C#のConvert.ToSByteメソッドは、指定した値を8ビット符号付き整数(SByte)に変換するためのメソッドです。
SByteは符号付きの8ビット整数型で、-128から127までの範囲の値を格納できます。範囲外の値を変換しようとするとOverflowExceptionがスローされるため、注意が必要です。
基本的な使い方
まずは例として、double型の変数を用意します。
double doubleNum = -19.9;
この値をConvert.ToSByteメソッドを使ってSByte型に変換します。
sbyte res; res = Convert.ToSByte(doubleNum);
小数点以下の値は、最も近い整数に丸められます。この例では-19.9が-20に変換されます。
サンプルコード
以下に完全なサンプルコードを示します。
using System;
public class Demo {
public static void Main() {
double doubleNum = -19.9;
sbyte res;
res = Convert.ToSByte(doubleNum);
Console.WriteLine("Converted {0} to {1}", doubleNum, res);
}
}
実行結果
Converted -19.9 to -20
double型の値-19.9が、SByte型の-20に正しく変換されていることが確認できます。
注意点
Convert.ToSByteメソッドを使用する際には、以下の点に留意しましょう。
- 値の範囲: 変換元の値が-128〜127の範囲外の場合、
OverflowExceptionが発生します。 - 丸め処理: 中間値(例:19.5など)は、最も近い偶数に丸められる「銀行家の丸め(Banker's Rounding)」が適用されます。
- null値: 引数にnullを指定した場合は0が返されますが、無効な形式の文字列を指定すると
FormatExceptionがスローされます。
このように、Convert.ToSByteメソッドを使えば、さまざまな型の値を簡単に8ビット符号付き整数へ変換できます。メモリ効率が重要な場面や、小さな範囲の数値を扱う際に活用するとよいでしょう。
-
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に変換されます。サンプルコード