Detailed explanation of round rounding--the difference between python2 and python3 versions

高洛峰
Release: 2016-10-17 16:05:43
Original
1891 people have browsed it

The

round() method returns the decimal point of the value rounded to n digits.

Syntax

The following is the syntax of the round() method:

round( x [, n] )


Parameters

x --This is a numerical value, indicating the value that needs to be formatted

n - -This is also a numerical value, indicating how many digits are retained after the decimal point

Return value

This method returns the decimal point of the value x rounded to n numbers

PS: round rounds the incoming data. If ngitits is not passed, the default is 0 (that is, the integer part is retained). When ngitits


Example

The following example shows the use of the round() method

#!/usr/bin/python2
print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)
Copy after login
上 行 When we run the above program, it will produce the following results:

round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0
Copy after login
e


python3 and python2 version differences

Python2 to enter the X Four House and Five to the latest multiple of 0 0 to 0 0 to the closest multiple of 0 0. , such as round(0.5)=1, round(-0.5)=-1;

Python3 will round x to the nearest even multiple, such as round(0.5)=0, round(1.5)=2.0, round(2.5 )=2.0

Code:

#!/usr/bin/python2
print round(2.635, 2)
print round(2.645, 2)
print round(2.655, 2)
print round(2.665, 2)
print round(2.675, 2)
Copy after login

Output result:

2.63
2.65
2.65
2.67
2.67
Copy after login

round method defects

Through the above example, you can find that the rounding method of round looks like understand with us It's not the same. In fact, this is not a round bug. This mainly comes from the conversion of decimal to computer internal binary when inputting. Moreover, this problem cannot be solved with limited precision and does not need to be solved.

Python’s decimal module can be used to solve this problem.

If you don’t need to round, you can also consider using our most familiar print("%.2f" % 2.675) method.

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!