Преобразование float в десятичное число теряет точность в C #

В C # 4.0 следующее приведение ведет себя очень неожиданно:

(decimal)1056964.63f
1056965

Преобразование в двойное работает нормально:

(double)1056964.63f
1056964.625

(decimal)(double)1056964.63f
1056964.625

Это по дизайну?

5
задан mskfisher 24 May 2012 в 15:27
поделиться