vb.netで最も近い5000に丸めるにはどうすればよいですか。エラーが発生するため、math.roundを使用できません。私はマイクロソフトエクセルでmround()のようなものを探しています。
Math.round(43333 * 34, 5000)
vb.netで最も近い5000に丸めるにはどうすればよいですか。エラーが発生するため、math.roundを使用できません。私はマイクロソフトエクセルでmround()のようなものを探しています。
Math.round(43333 * 34, 5000)
試す
Math.Round(43000 / 5000) * 5000
のように:
For Each x In New Single() {2499, 2501, 7000, 21000, 43000, 99000}
Console.WriteLine(String.Format( _
"Rounding {0,7:N0} to the nearest 5,000: {1,7:N0}", _
x, _
Math.Round(x / 5000) * 5000) _
)
Next
Console.ReadKey(True)
出力:
Rounding 2,499 to the nearest 5,000: 0
Rounding 2,501 to the nearest 5,000: 5,000
Rounding 7,000 to the nearest 5,000: 5,000
Rounding 21,000 to the nearest 5,000: 20,000
Rounding 43,000 to the nearest 5,000: 45,000
Rounding 99,000 to the nearest 5,000: 100,000
のデフォルトの丸め動作Math.Round
はMidpointRounding.ToEven
、ドキュメントに「数値が2つの数値の中間にある場合、最も近い偶数に丸められる」と記載されていることを追加します。これは、状況に応じて、または状況に応じて0.5
丸められる可能性があることを意味します(統計を処理するときに望ましい動作です)。この動作を変更するには、2番目のパラメーターとして渡すことができます。これは、学校で教えられたとおりに動作します(常にに丸められ、常にに丸められます)。0
1
MidpointRounding.AwayFromZero
0.5
1
-0.5
-1