Existe-t-il des types de données offrant une meilleure précision que les flottants ?
Réponses
Trop de publicités?- Contrairement à la virgule flottante binaire basée sur le matériel, le module décimal a une précision modifiable par l'utilisateur (par défaut, elle est de 28 positions) qui peut être aussi grande que nécessaire pour un problème donné.
Si vous êtes pressé par les problèmes de performance, jetez un coup d'œil à GMPY
Gareth Rees
Points
31350
jerboa
Points
378
Bittikettu
Points
37
Voici ma solution. Je crée d'abord des nombres aléatoires avec random.uniform, je les formate en chaîne avec une double précision, puis je les reconvertis en flottants. Vous pouvez ajuster la précision en changeant '.2f' en '.3f' etc
import random
from decimal import Decimal
GndSpeedHigh = float(format(Decimal(random.uniform(5, 25)), '.2f'))
GndSpeedLow = float(format(Decimal(random.uniform(2, GndSpeedHigh)), '.2f'))
GndSpeedMean = float(Decimal(format(GndSpeedHigh + GndSpeedLow) / 2, '.2f')))
print(GndSpeedMean)