ヘッダー
Visual Basic サンプル集
VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

四捨五入する

2020/6/8

 

銀行丸め(偶数丸め)や切捨て・切り上げではなく四捨五入します。このページの例はすべて四捨五入です。

 

小数を四捨五入して整数にする

 

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim value As Decimal = 2.5D
Dim result As Decimal = Math.Round(value, MidpointRounding.AwayFromZero)

Debug.WriteLine(result) ' 3 と表示されます。

  この例では「3」と出力されます。 → Debug.WriteLineが表示される場所

  2.5D の末尾の「D」はこの数値リテラルが 十進型(Decimal)であることを示すものです。

 

 倍精度浮動小数点型(Double)でもできます。(他の例も同様です。)

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim value As Double = 2.5
Dim result As Double = Math.Round(value, MidpointRounding.AwayFromZero)

Debug.WriteLine(result) ' 3 と表示されます。

 この例でも「3」と出力されます。 → Debug.WriteLineが表示される場所

 

四捨五入して小数第1位までにする

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim value As Decimal = 12.35D
Dim result As Decimal = Math.Round(value, 1, MidpointRounding.AwayFromZero)

Debug.WriteLine(result) ' 12.4 と表示されます。

 この例では「12.4」と出力されます。 → Debug.WriteLineが表示される場所

 

四捨五入して小数第2位までにする

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim value As Decimal = 12.345D
Dim result As Decimal = Math.Round(value, 2, MidpointRounding.AwayFromZero)

Debug.WriteLine(result) ' 12.35 と表示されます。

 この例では「12.35」と出力されます。 → Debug.WriteLineが表示される場所

 

四捨五入して小数第n位までにする

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim n As Integer = 5
Dim
value As Decimal = 12.34567890D
Dim result As Decimal = Math.Round(value, n, MidpointRounding.AwayFromZero)

Debug.WriteLine(result) ' 12.34568 と表示されます。

 この例では「12.34568」と出力されます。 → Debug.WriteLineが表示される場所

 

四捨五入して百の位までの概数にする

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim value As Decimal = 123456.78D
Dim kurai As Integer = 100
Dim result As Decimal = Math.Round(value / kurai, MidpointRounding.AwayFromZero) * kurai

Debug.WriteLine(result) ' 123500 と表示されます。

 この例では「123500」と出力されます。 → Debug.WriteLineが表示される場所

 

四捨五入して千の位までの概数にする

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim value As Decimal = 123456.78D
Dim kurai As Integer = 1000
Dim result As Decimal = Math.Round(value / kurai, MidpointRounding.AwayFromZero) * kurai

Debug.WriteLine(result) ' 123000 と表示されます。

 この例では「123000」と出力されます。 → Debug.WriteLineが表示される場所