1

.NET と Compact Framework は既定で銀行家の丸めを使用します。つまり、値 1,165 は 1,16 に丸められます。

逆に、SQLサーバーはそれを1,17に丸めます。私にとっては正しい動作です。

丸めのトピックに出くわし、Compact Framework の回避策を持っている人はいますか? (.net には、丸め動作に影響を与える追加のパラメーターがあります)

4

3 に答える 3

3

Math.Floor(double)がサポートされているようです。

private static double RoundToTwo(double value)
{
    return Math.Floor(100*value + .5)/100;
}

Console.WriteLine(RoundToTwo(1.165));
> 1.17

Console.WriteLine(RoundToTwo(1.16499));
> 1.16
于 2013-08-13T10:23:56.053 に答える