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