Existe-t-il des types de données plus précis que float?
Si vous êtes pressé par des problèmes de performance, regardez GMPY
Le type float
intégré de Python a une double précision (il s'agit d'un C double
dans CPython, un Java double
dans Jython). besoin de plus de précision, obtenez NumPy et utilisez son numpy.float128
.
Peut-être que vous avez besoin de décimal
>>> from decimal import Decimal
>>> Decimal(2.675)
Decimal('2.67499999999999982236431605997495353221893310546875')
Voici ma solution. Je crée d'abord des nombres aléatoires avec random.uniform, les formate en chaîne avec une double précision, puis les reconvertis en float. Vous pouvez ajuster la précision en remplaçant '.2f' par '.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)