0

Math.Round を 3.75 から 3.7 に丸めるにはどうすればよいですか?

次のオプションを試しました。

Math.Round(3,75d,1,MidpointRounding.AwayFromZero) == 3.8
Math.Round(3,75d,1,MidpointRounding.ToEven) == 3.8

編集:いくつかのコンテキスト。3.6、3.5、4.2、および 3.7 の平均が必要ですが、要件は 3.8 より 3.7 であることです。

4

3 に答える 3

2

で小数精度を指定することはできないと思いますMath.Floor。しかし、あなたは試すことができます:

Math.Floor(num * 10) / 10

Math.Floor私はダブルを返すと信じています。したがって、これは機能するはずです。

于 2013-02-13T19:39:58.267 に答える
0

つまり、 =x.5 = x+1という従来のルールではなく、つまり. 1.04 は 1.0 に丸められ、1.05 は 1.1 に丸められます。あなたはいつもダウンしたいですか?

Floor でこれを行うことができます (以前の返信に示されているように) が、これは負の数で問題を引き起こすと思います-少しテストを行う必要があります (そのため、代わりに「if」句を使用してceiling を使用する必要があります)あなたの数が<0の場合。

于 2013-02-15T09:32:38.810 に答える
0

n = 3.75;
a = System.Math.Round (n, 2, MidpointRounding.ToEven);       // 3.70
b = System.Math.Round (n, 2, MidpointRounding.AwayFromZero); // 3.80

も試してくださいMath.Floor

aお仕事に使おう!

于 2013-02-13T19:38:29.077 に答える