C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のDecimal.Truncate()メソッドとは?小数点以下を切り捨てる使い方を解説

Decimal.Truncate()メソッドとは

C#のDecimal.Truncate()メソッドは、指定されたDecimal値から整数部分だけを取り出して返す静的メソッドです。小数点以下のすべての桁は破棄されるため、四捨五入などの丸め処理ではなく、単純に小数部分を切り捨てたい場合に便利です。

構文

Decimal.Truncate()メソッドの構文は次のとおりです。

public static decimal Truncate (decimal val);

引数valには、切り捨ての対象となるdecimal型の数値を指定します。なお、戻り値もdecimal型である点に注意してください。

使用例1

それでは、Decimal.Truncate()メソッドを使用した具体的なサンプルコードを見ていきましょう。

using System;
public class Demo {
   public static void Main(){
      Decimal val = 6576.876m;
      Console.WriteLine("Decimal value = "+val);
      ulong res = Decimal.ToUInt64(val);
      Console.WriteLine("64-bit unsigned integer = "+res);
      Decimal val2 = Decimal.Truncate(val);
      Console.WriteLine("Integral digits of the decimal = "+val2);
   }
}

上記のコードでは、まずdecimal型の変数valに「6576.876」を代入しています。その後、Decimal.ToUInt64()メソッドで64ビット符号なし整数への変換結果を表示し、さらにDecimal.Truncate()メソッドを使って整数部分のみを取得してコンソールに出力しています。

実行結果

このプログラムを実行すると、次のような出力が得られます。

Decimal value = 6576.876
64-bit unsigned integer = 6576
Integral digits of the decimal = 6576

使用例2

続いて、別の数値を使った例も確認してみましょう。

using System;
public class Demo {
   public static void Main(){
      Decimal val = 28676.935m;
      Console.WriteLine("Decimal value = "+val);
      Decimal val2 = Decimal.Truncate(val);
      Console.WriteLine("Integral digits of the decimal = "+val2);
   }
}

実行結果

このプログラムを実行すると、次のような出力が得られます。

Decimal value = 28676.935
Integral digits of the decimal = 28676

補足:Floor()メソッドとの違い

Decimal.Truncate()と似た動作をするメソッドにDecimal.Floor()があります。両者の違いは負の数の扱い方です。

  • Truncate():ゼロの方向へ切り捨てる(例:-6576.876 → -6576)
  • Floor():負の無限大の方向へ切り捨てる(例:-6576.876 → -6577)

正の数に対してはどちらのメソッドも同じ結果になりますが、負の数を扱う可能性がある場合は、意図した挙動になるよう注意が必要です。

  1. C#のDecimal.Floor()メソッドの使い方を徹底解説

    概要C#のDecimal.Floor()メソッドは、指定されたDecimal型の数値を「負の無限大方向」に向かって最も近い整数へ丸める静的メソッドです。正の数であれば小数点以下がそのまま切り捨てられますが、負の数の場合はより小さい整数側へ丸められる点に注意が必要です。構文構文は以下のとおりです。public static decimal Floor (decimal val);引数valには、丸めの対象となるDecimal型の値を指定します。使用例1:正の数の場合まず、正のDecimal値に対してDecimal.Floor()メソッドを使用する例を見てみましょう。using System; p

  2. C#のTruncateメソッドで小数点以下を切り捨てる方法

    C#のTruncateメソッドとはC#では、Truncateメソッドを使用することで、数値の小数点以下をすべて切り捨て、整数部分だけを取り出すことができます。四捨五入とは異なり、単純に小数点以下を削除するのが特徴です。切り捨て対象の数値たとえば、次のような数値があったとします。20.35MTruncateメソッドの使い方小数点以下を切り捨てるには、decimal構造体の静的メソッドであるTruncate()を次のように呼び出します。decimal.Truncate(20.35M)この場合、戻り値は「20」となります。サンプルコード実際に動作する完全なコード例を見てみましょう。using Sys