ну на самом деле проблема в бинарном представлении десятичных цифр, когда округление младшего разряда вносит погрешность 0.1+0.2 => 0.30000000000000004 соответсвенно, 0.1+0.2 == 0.3 => false
Так происходит в любом языке, который для флоат использует классическое представление данных по IEEE754 https://0.30000000000000004.com/ коллекция