指定した精度の数値に切り捨てする
スポンサーリンク
数値を切り捨てするには、System.Math クラスの Floor メソッドと Ceiling メソッドを使用します。数値が正の数であれば、Floor メソッドを、負の数であれば、Ceiling メソッドを使用します。
これを利用して、指定した桁数で切り捨てするメソッドがあると便利です。指定した桁数で切り捨てするには、累乗を用いて指定した桁数を整数とする必要があります。これを毎回書くのは煩わしいので、以下のようなメソッドを考えます。
Floor メソッド、Ceiling メソッド及び、Pow メソッドの詳細は以下をご覧ください。
サンプルコード
以下にサンプルコードを示します。
VB.NET 全般
''' ------------------------------------------------------------------------ ''' <summary> ''' 指定した精度の数値に切り捨てします。</summary> ''' <param name="dValue"> ''' 丸め対象の倍精度浮動小数点数。</param> ''' <param name="iDigits"> ''' 戻り値の有効桁数の精度。</param> ''' <returns> ''' iDigits に等しい精度の数値に切り捨てられた数値。</returns> ''' ------------------------------------------------------------------------ Public Shared Function ToRoundDown(ByVal dValue As Double, ByVal iDigits As Integer) As Double Dim dCoef As Double = System.Math.Pow(10, iDigits) If dValue > 0 Then Return System.Math.Floor (dValue * dCoef) / dCoef Else Return System.Math.Ceiling(dValue * dCoef) / dCoef End If End Function
使用例は以下のようになります。
VB.NET 全般
' 有効小数桁数が小数第 2 位になるように切り捨てる Dim dValue As Double = ToRoundDown(12.328, 2) ' 切り捨てした結果を表示する MessageBox.Show(dValue.ToString()) '12.32
関連するリファレンス
準備中です。