binary32 floats have around 7 decimals of precision, that matches up. the repeating 9s in the end might be a quirk of how decimals are parsed in that implementation, maybe it only reads the first few digits