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
. int
s 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))