# 0.1 + 0.2 = 0.30000000000000004? Als je in een Python programma floating point getallen gebruikt, dan is het resultaat soms anders dan je zou denken. ![0.1 + 0.2 = 0.30000000000000004](figs/floats.png "0.1 + 0.2 = 0.30000000000000004") Tienden kun je in het tientallig stelsel exact weergeven, maar in het binair stelsel niet. Getallen worden in een computer binair (als machten van twee) opgeslagen. B.v. het getal 0.5 is binair 0.1 en het getal 0.25 is binair 0.01. Als je het decimale getal 0.1 omzet naar binair vind je: 0.0001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011... enz. Dat moet dus afgerond worden om in de computer op te kunnen slaan. Als je dan gaat rekenen met zo'n afgerond getal, dan is het resultaat niet meer exact correct. Met de Python-functie `round` kun je een getal afronden op een bepaald aantal decimalen. ```python >>> round(0.1 + 0.2, 1) ``` Geeft als resultaat: ```python 0.3 ``` Een uitgebreidere uitleg vind je hier: [https://jvns.ca/blog/2023/02/08/why-does-0-1-plus-0-2-equal-0-30000000000000004/](https://jvns.ca/blog/2023/02/08/why-does-0-1-plus-0-2-equal-0-30000000000000004/) Meer info over het werken met floating point getallen in Python vind je hier: [https://docs.python.org/3/tutorial/floatingpoint.html](https://docs.python.org/3/tutorial/floatingpoint.html).