Python how to remove decimal?

假装没事ソ 提交于 2019-12-10 11:26:28

问题


I've found some other topics on this but I couldn't get it to work. Please pardon my naivety with Python.

Berekening1 = 8.5
Berekening2 = 8.1+4.8
Berekening3 = 8*10
Berekening4 = 3
x = Berekening1 * Berekening2 * Berekening3 + Berekening4
print "Het antwoord van de berekening is:",
round(x); print x,
print "."

I want x to be an integer. How do I do that? I tried both int and round.

Anyone also have an idea on how to remove the "space" between x and "." at the end when code is executed?


回答1:


You would need to reassign x to the value of x = int(x) or you could also use str.format if you just want the output formatted:

print "Het antwoord van de berekening is: {:.0f}.".format(x)

int and round will exhibit different behaviour, if you have anything >= 5 after the decimal point then int will floor but round will round up, if you want to actually use round you might want to combine the two:

In [7]: x = round(1.5)

In [8]: x
Out[8]: 2.0

In [9]: int(x)
Out[9]: 2

Or again combine with str.format:

In [10]: print "Het antwoord van de berekening is: {:.0f}".format(round(1.5))
Het antwoord van de berekening is: 2



回答2:


The round() function cannot alter the x variable in place, as numbers are immutable. Instead, the rounded result is returned, which your code ignores.

Store the result back in x:

x = round(x)

This will give you a floating point number rounded to the nearest whole number.

Alternatively, use x = int(x), which gives you an integer number, but floors that number (removes the decimal portion regardless if it is closer to the next whole number or not).




回答3:


For just removing decimal part of an integer(eg- 45.55 to 45), you can try using trunc() method with math library, just like this-

import math
i=45.55
i=math.trunc(i)
print(i)

Output will be- 45, trunc() method doesn't rounds off the integer to the nearest whole number, it justs cuts off the decimal portion.

Or if you want to round off then you can use the round() method.



来源:https://stackoverflow.com/questions/32669400/python-how-to-remove-decimal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!