C#のDecimal.ToByte()メソッドとは?使い方とサンプルコードを解説
概要
C#のDecimal.ToByte()メソッドは、指定されたDecimal(10進数)の値を、それに相当する8ビット符号なし整数(byte型)へと変換するために使用されます。小数点以下の値はゼロ方向へ丸められます。
構文
構文は以下のとおりです。
public static byte ToByte (decimal val);
引数 val には、変換対象となる10進数を指定します。
主な特徴と注意点
- 戻り値はbyte型(0~255の範囲)です。
- 小数部分は切り捨てられます(ゼロに近い方向へ丸められます)。
- 値がbyte型の範囲外の場合は、OverflowExceptionがスローされます。
使用例
それでは、Decimal.ToByte()メソッドを使用した具体的な例を見てみましょう。
using System;
public class Demo {
public static void Main(){
Decimal val1 = 6.59m;
Decimal val2 = 30.12m;
Decimal val3 = 69.34m;
Console.WriteLine("Decimal 1 = "+val1);
Console.WriteLine("Decimal 2 = "+val2);
Console.WriteLine("Decimal 3 = "+val3);
byte res1 = Decimal.ToByte(val1);
byte res2 = Decimal.ToByte(val2);
byte res3 = Decimal.ToByte(val3);
Console.WriteLine("Byte value1 (Decimal to Byte) = "+res1);
Console.WriteLine("Byte value2 (Decimal to Byte) = "+res2);
Console.WriteLine("Byte value3 (Decimal to Byte) = "+res3);
}
}出力
上記のコードを実行すると、次のような結果が得られます。
Decimal 1 = 6.59 Decimal 2 = 30.12 Decimal 3 = 69.34 Byte value1 (Decimal to Byte) = 6 Byte value2 (Decimal to Byte) = 30 Byte value3 (Decimal to Byte) = 69
このように、小数点以下は切り捨てられ、整数部分のみがbyte型として返されていることが確認できます。
使用例:負の値を変換する場合
続いて、負の値を扱う別の例を見てみましょう。
using System;
public class Demo {
public static void Main(){
Decimal val1 = -0.22m;
Decimal val2 = -0.01m;
Console.WriteLine("Decimal 1 = "+val1);
Console.WriteLine("Decimal 2 = "+val2);
byte res1 = Decimal.ToByte(val1);
byte res2 = Decimal.ToByte(val2);
Console.WriteLine("Byte value1 (Decimal to Byte) = "+res1);
Console.WriteLine("Byte value2 (Decimal to Byte) = "+res2);
}
}出力
実行結果は以下のとおりです。
Decimal 1 = -0.22 Decimal 2 = -0.01 Byte value1 (Decimal to Byte) = 0 Byte value2 (Decimal to Byte) = 0
-1より大きい負の小数はゼロ方向へ丸められるため、どちらも0に変換されました。ただし、-1以下の値や255を超える値を指定するとOverflowExceptionが発生するため、実際の開発では範囲チェックを行ってから変換することをおすすめします。
-
C#のDecimal.Floor()メソッドの使い方を徹底解説
概要C#のDecimal.Floor()メソッドは、指定されたDecimal型の数値を「負の無限大方向」に向かって最も近い整数へ丸める静的メソッドです。正の数であれば小数点以下がそのまま切り捨てられますが、負の数の場合はより小さい整数側へ丸められる点に注意が必要です。構文構文は以下のとおりです。public static decimal Floor (decimal val);引数valには、丸めの対象となるDecimal型の値を指定します。使用例1:正の数の場合まず、正のDecimal値に対してDecimal.Floor()メソッドを使用する例を見てみましょう。using System; p
-
C#のDecimal.Divide()メソッドとは?構文と使い方をサンプルコード付きで解説
C#のDecimal.Divide()メソッドは、指定された2つのDecimal型の値を除算するための静的メソッドです。金額計算など、浮動小数点誤差を避けたい正確な10進数演算が必要な場面で活用されます。 構文 Decimal.Divide()メソッドの構文は以下の通りです。 public static decimal Divide (decimal val1, decimal val2); 各パラメータの意味は次の通りです。 val1:被除数(割られる数) val2:除数(割る数) 戻り値は、val1をval2で割った結果を表すdecimal型の値です。なお、val2に0を指定した場合は