Преобразование float в double теряет точность, но не через ToString

У меня есть следующий код:

float f = 0.3f;
double d1 = System.Convert.ToDouble(f);
double d2 = System.Convert.ToDouble(f.ToString());

Результаты эквивалентны:

d1 = 0.30000001192092896;
d2 = 0.3;

Интересно узнать, почему это так?

22
задан Default 5 August 2013 в 11:51
поделиться