float
datatypen representerar inte siffror med decimalsiffror. Den representerar tal med binär, så de binära siffrorna i talen representerar två potenser som 16, 8, 4, 2, 1, ½, ¼, ⅛ och så vidare.
Siffrorna som visas som "272.7", "0.55" och så vidare är inte korrekta representationer av de lagrade värdena. Till exempel kan numret som visas som "272.7" faktiskt vara 272.70001220703125.
Reglerna som används för att formatera siffror för utdata kan dölja dessa skillnader för dig genom att använda färre än alla siffror som behövs för att visa det exakta värdet.
När du lägger till dessa siffror kan skillnaderna mellan de faktiska talen och de närliggande decimalrepresentationerna växa eller minska, beroende på slumpmässiga variationer mellan skillnaderna. Summan du ser är ett naturligt resultat av dessa tillägg.