[C#][VB.NET]マイナス値対応の桁数を指定した切り捨て

切り捨てを行うには「Math.Truncate」または「Math.Floor」を使用します。

「Math.Truncate」と「Math.Floor」の違い

両者は値が負数のときに結果が異なり、「Truncate」が「0に近づく」のに対し、「Floor」は「0から遠ざかる」ようになっています。どちらが正しいかは計算対象によって異なるため確認が必要です。次の表は「Truncate」と「Floor」の実行結果です。マイナス時の結果が異なるのが確認できます。
切り捨てる前の値 Truncateの結果 Floorの結果
0.1 0 0
0.9 0 0
1.1 1 1
1.9 1 1
-0.1 0 -1
-0.9 0 -1
-1.1 -1 -2
-1.9 -1 -2

切り捨てのサンプルコード

小数部の桁数を指定した切り捨て

「Truncate」と「Floor」は桁数の指定ができないため、自分で計算する必要があります。 次のサンプルは桁数を指定した切り捨てと、引数に桁数を指定できる切り捨て関数です。

サンプルコードのダウンロード

サンプルコードの実行には Microsoft Visual Studio 2015 以上のバージョンが必要です。 2015以外のバージョンではプロジェクトを開いた際にファイルの変換が必要な場合があります。その場合は変換後に実行してください。

検証環境

関連ページ