四捨五入関数 [VB]

VB2012-2017

VB 四捨五入

Math.Roundメソッドを使うと、簡単に四捨五入ができます。

四捨五入するためには、Math.Round関数に、次の3つの引数を指定します。

第1引数:四捨五入するDecimal型またはDouble型の数値

第2引数:四捨五入した結果の数値の小数部分の桁数

第3引数:四捨五入する場合は、MidpointRounding.AwayFromZero を指定

  Math.Round(11.4999, 0, MidpointRounding.AwayFromZero)  ' 11
  Math.Round(11.5, 0, MidpointRounding.AwayFromZero)     ' 12
  Math.Round(11.4499, 1, MidpointRounding.AwayFromZero)  ' 11.4
  Math.Round(11.45, 1, MidpointRounding.AwayFromZero)    ' 11.5

十の位を四捨五入

1158の十の位を四捨五入して1200にする場合

十の位が小数点第一位になるように100で割って、Math.Round関数を使います。

1158は11.58になるので、小数点第一位を四捨五入すれば、12、最後に100倍すれば、1200になります。

  ' 実数型変数の宣言と代入
  Dim ans As Double = 1158
  ' 百で割る
  ans = ans / 100
  ' ansを四捨五入
  ans = Math.Round(ans, 0, MidpointRounding.AwayFromZero)
  ' 百倍する
  ans = ans * 100

百の位を四捨五入するサンプルプログラム

Math.Round関数を使って、百の位を四捨五入します。十の位の四捨五入とまったく同様です。

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  Sub Main()
      ' 変数の宣言と代入
      Dim num As Double = 32470
      ' 千で割る
      num = num / 1000
      ' numを四捨五入
      num = Math.Round(num, 0, MidpointRounding.AwayFromZero)
      ' 千倍する
      num = num * 1000
      Console.WriteLine(num)
  End Sub

End Module