2016-12-21 2 views
-1

С учетом строки a="1.351", как округлить до двух десятичных точек? Я пробовал:Использование math.floor для округления до определенной десятичной точки

a = "1.351" 
b = "%0.2f" % float(a) 
c = math.floor(float(b)) 
print c # gives me an output of 1.0 

В идеале я хотел бы выход 1.30.

+0

Почему вы думаете, '1.30' правильный выход? Вы пробовали использовать 'round'? – jonrsharpe

+2

Возможный дубликат [Предельные поплавки до двух десятичных знаков] (http://stackoverflow.com/questions/455612/limiting-floats-to-two-decimal-points) – jonrsharpe

ответ

0

Существует множество способов. Например:

>>> a = "1.351" 
>>> b = float(a) 
>>> print("%.2f" % (b - b % 0.01)) 
0

Если вы хотели сказать, что ожидаемый результат был:

1.35 

Тогда вы можете попробовать следующее:

a = 1.351 
print math.floor(a*100)/100 
0

Попробуйте этот код

a = "1.351" 
float(int(float('{:.2f}'.format(float(a)))*10))/10 

Выход:

1,3

при Ь = Ь = "1254,25465"

выходной = 1254.2

Смежные вопросы