В C # 4.0 следующее приведение ведет себя очень неожиданно:
(decimal)1056964.63f 1056965
Преобразование в двойное работает нормально:
(double)1056964.63f 1056964.625 (decimal)(double)1056964.63f 1056964.625
Это по дизайну?