Moja liczba zmiennoprzecinkowa ma dodatkowe cyfry podczas drukowania

Definiuję liczbę zmiennoprzecinkową jakofloat transparency = 0.85f; W następnym wierszu przekazuję go do funkcji -fcn_name(transparency) - ale okazuje się, że zmiennatransparency ma wartość0.850000002, a kiedy go wydrukuję z ustawieniem domyślnym, to jest0.850000002. Dla wartości0.65f, to jest0.649999998.

Jak mogę uniknąć tego problemu? Wiem, że zmiennoprzecinkowe jest tylko przybliżeniem, ale jeśli zdefiniuję zmiennoprzecinkowy z kilkoma miejscami po przecinku, jak mogę się upewnić, że nie zostanie zmieniony?

questionAnswers(2)

yourAnswerToTheQuestion