0

vb.netで最も近い5000に丸めるにはどうすればよいですか。エラーが発生するため、math.roundを使用できません。私はマイクロソフトエクセルでmround()のようなものを探しています。

  Math.round(43333 * 34, 5000)
4

1 に答える 1

3

試す

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.RoundMidpointRounding.ToEven、ドキュメントに「数値が2つの数値の中間にある場合、最も近い偶数に丸められる」と記載されていることを追加します。これは、状況に応じて、または状況に応じて0.5丸められる可能性があることを意味します(統計を処理するときに望ましい動作です)。この動作を変更するには、2番目のパラメーターとして渡すことができます。これは、学校で教えられたとおりに動作します(常にに丸められ、常にに丸められます)。01MidpointRounding.AwayFromZero0.51-0.5-1

于 2012-10-15T21:47:05.433 に答える