math.fsum() în Python

Adună numere zecimale cu precizie maximă, fără erorile de rotunjire acumulate.

Sintaxă
math.fsum(iterabil)

Ce face math.fsum()

fsum() ține evidența tuturor cifrelor pierdute pe parcurs și dă rezultatul corect rotunjit al sumei exacte. Este utilă pentru sume lungi de numere zecimale sau cu valori de mărimi foarte diferite.

Din Python 3.12, și sum() folosește un algoritm mai precis pentru float, dar fsum() rămâne garantat exact.

Parametri

Parametru Descriere
iterabil Numerele adunate.

Ce returnează

Un float.

Exemple

Exemplul 1: Valori de mărimi diferite

import math
valori = [1e20, 1.0, -1e20]
print(sum(valori), math.fsum(valori))
print(math.fsum([0.1] * 10))

Rezultat

1.0 1.0
1.0

Greșeli frecvente

  • Folosești fsum pe numere întregi mari: rezultatul este float și poate pierde cifre. Pentru întregi, sum() este exact.

Comenzi înrudite