Search code examples
pythonmathrounding

Round float to x decimals?


Is there a way to round a python float to x decimals? For example:

>>> x = roundfloat(66.66666666666, 4)
66.6667
>>> x = roundfloat(1.29578293, 6)
1.295783

I've found ways to trim/truncate them (66.666666666 --> 66.6666), but not round (66.666666666 --> 66.6667).


Solution

  • Use the built-in function round():

    In [23]: round(66.66666666666,4)
    Out[23]: 66.6667
    
    In [24]: round(1.29578293,6)
    Out[24]: 1.295783
    

    help on round():

    round(number[, ndigits]) -> floating point number

    Round a number to a given precision in decimal digits (default 0 digits). This always returns a floating point number. Precision may be negative.