C#のMath.Truncate()メソッドとは?使い方とサンプルコードを解説
Math.Truncate()メソッドとは
C#のMath.Truncate()メソッドは、Double型またはDecimal型の数値から小数点以下を切り捨て、整数部分のみを取得するために使用されるメソッドです。引数に渡した数値の小数部分が単純に除去され、ゼロ方向への切り捨てが行われる点が特徴です。
構文
public static decimal Truncate(decimal val1) public static double Truncate(double val2)
上記のように、Math.Truncate()メソッドには2つのオーバーロードが用意されています。val1には切り捨ての対象となるdecimal型の数値を、val2にはdouble型の数値をそれぞれ指定します。戻り値として、小数点以下を切り捨てた整数部分が同じ型で返されます。
使用例1:Decimal型の場合
まずは、Decimal型の数値に対してMath.Truncate()メソッドを使用する例を見てみましょう。
using System;
public class Demo {
public static void Main(){
Decimal val1 = 25.46467m;
Decimal val2 = 45.9989m;
Decimal val3 = 678.325m;
Console.WriteLine(Math.Truncate(val1));
Console.WriteLine(Math.Truncate(val2));
Console.WriteLine(Math.Truncate(val3));
}
}出力結果
このプログラムを実行すると、次のような出力が得られます。
25 45 678
いずれの値も小数点以下が切り捨てられ、整数部分だけが出力されていることが確認できます。
使用例2:Double型の場合
続いて、Double型の数値に対してMath.Truncate()メソッドを使用する例です。
using System;
public class Demo {
public static void Main(){
Double val1 = 95.86467;
Double val2 = 25.11;
Double val3 = 878.325;
Console.WriteLine(Math.Truncate(val1));
Console.WriteLine(Math.Truncate(val2));
Console.WriteLine(Math.Truncate(val3));
}
}出力結果
実行結果は以下の通りです。
95 25 878
補足:Math.Floor()との違いに注意
Math.Truncate()は小数点以下を単純に切り捨てますが、負の数を扱う場合はMath.Floor()との違いに注意が必要です。例えば「-3.7」に対してMath.Truncate()はゼロ方向に切り捨てて「-3」を返しますが、Math.Floor()はより小さい整数である「-4」を返します。用途に応じて適切なメソッドを選択しましょう。
-
C#のMath.Exp()メソッドの使い方を徹底解説!eの累乗計算と特殊値の挙動
C#のMath.Exp()メソッドは、自然対数の底「e」(ネイピア数、約2.71828)を指定した値で累乗した結果を返すメソッドです。数学的な指数関数の計算が必要な場面で活用されます。構文public static double Exp (double val);引数 val には、eの累乗の指数となる倍精度浮動小数点数(double型)を指定します。戻り値もdouble型です。特殊な値が渡された場合の挙動NaN(非数)またはPositiveInfinity(正の無限大)を渡した場合 → その値がそのまま返されます。NegativeInfinity(負の無限大)を渡した場合 → 0 が返されま
-
C#のTruncateメソッドで小数点以下を切り捨てる方法
C#のTruncateメソッドとはC#では、Truncateメソッドを使用することで、数値の小数点以下をすべて切り捨て、整数部分だけを取り出すことができます。四捨五入とは異なり、単純に小数点以下を削除するのが特徴です。切り捨て対象の数値たとえば、次のような数値があったとします。20.35MTruncateメソッドの使い方小数点以下を切り捨てるには、decimal構造体の静的メソッドであるTruncate()を次のように呼び出します。decimal.Truncate(20.35M)この場合、戻り値は「20」となります。サンプルコード実際に動作する完全なコード例を見てみましょう。using Sys