python – Rounding floats to nearest 10th

python – Rounding floats to nearest 10th

Heres how to round a number to the nearest tenth:

>>> round(21.3331, 1)
21.3

Heres how to print out a floating point number with one decimal point:

>>> print %.1f % (21.3331,)
21.3

Note that if you do it using %d it will get printed as rounded to the nearest integer:

>>> print %d % (21.3331,)
21

See the String Formatting Operations docs for more on how the % formatting works.

Heres as simple one.

roundf(1.345 * 100) / 100

You simply multiply it by 100 before dividing it by 100 which preserves the value to 2 decimal places. This should be much more efficient than transforming it to a string and back.

python – Rounding floats to nearest 10th

Youre converting to int. That means your result is an int. ints dont have fractional parts. Also, %d means format as int, so it will implicitly convert to int before printing. Use %f in your format string.

def add(op1,op2):
    result = round(op1 + op2, 1)
    print()
    print (Output: %0.1f + %0.1f = %0.1f % (op1, op2, result))

Leave a Reply

Your email address will not be published. Required fields are marked *