.NET と Compact Framework は既定で銀行家の丸めを使用します。つまり、値 1,165 は 1,16 に丸められます。
逆に、SQLサーバーはそれを1,17に丸めます。私にとっては正しい動作です。
丸めのトピックに出くわし、Compact Framework の回避策を持っている人はいますか? (.net には、丸め動作に影響を与える追加のパラメーターがあります)
.NET と Compact Framework は既定で銀行家の丸めを使用します。つまり、値 1,165 は 1,16 に丸められます。
逆に、SQLサーバーはそれを1,17に丸めます。私にとっては正しい動作です。
丸めのトピックに出くわし、Compact Framework の回避策を持っている人はいますか? (.net には、丸め動作に影響を与える追加のパラメーターがあります)
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