1. ホーム
  2. c#

[解決済み] C# で最も近い整数に丸める方法

2022-12-23 11:48:15

質問

値を最も近い整数に丸めるにはどうしたらよいですか?

例えば

1.1 => 1
1.5 => 2
1.9 => 2

"Math.Ceiling()"は私の助けになりません。何かアイデアはありますか?

どのように解決するのですか?

以下の 公式ドキュメント を参照してください。例えば

基本的には Math.Round メソッドに3つのパラメータを与えます。

  1. 丸めたい値。
  2. 値の後に残したい小数点以下の桁数。
  3. AwayFromZero丸めを使用するために呼び出すことができるオプションのパラメータです。( 丸め方が曖昧でない限り無視されます(例:1.5 )

サンプルコードです。

var roundedA = Math.Round(1.1, 0); // Output: 1
var roundedB = Math.Round(1.5, 0, MidpointRounding.AwayFromZero); // Output: 2
var roundedC = Math.Round(1.9, 0); // Output: 2
var roundedD = Math.Round(2.5, 0); // Output: 2
var roundedE = Math.Round(2.5, 0, MidpointRounding.AwayFromZero); // Output: 3
var roundedF = Math.Round(3.49, 0, MidpointRounding.AwayFromZero); // Output: 3

ライブデモ

必要なのは MidpointRounding.AwayFromZero が必要です。残念ながら、これは Math.Round() . もし MidpointRounding.ToEven (デフォルト) を使用した場合、値は最も近い にも の数 ( 1.5 は四捨五入して 2 に丸められますが 2.5 も丸められ 2 ).