Мой вопрос не о плавающей точности. Речь идет о том, почему Equals() отличается от ==.
Я понимаю, почему .1f + .2f == .3f есть false (while .1m + .2m == .3m is true).
Я получаю, что == является ссылкой и .Equals() является сопоставлением значений. (Edit: Я знаю, что для этого есть еще больше.)
Но почему (.1f + .2f).Equals(.3f) true, а (.1d+.2d).Equals(.3d) все еще false?
.1f + .2f == .3f; // false
(.1f + .2f).Equals(.3f); // true
(.1d + .2d).Equals(.3d); // false
