Ando
Ando

Reputation: 85

How to round numbers

How would I be able to round numbers like these to two decimal places which are all stored in a variable which has been outputted by a web scraper:

4.7532
4.7294
4.7056
4.6822857142857
4.65868
4.63522
4.6119866666667
4.58898
4.566064
4.543216

I am new to python so i'm not sure. I'm using Python 2

Upvotes: 2

Views: 5180

Answers (2)

Gagravarr
Gagravarr

Reputation: 48326

I think from what you say, you have a single string containing these numbers, and you want to print them out as 2dp formatted?

If so, the first thing to do is split the single string into an array, and convert to floating point numbers

numstr = """4.7532
4.7294
4.7056
4.6822857142857"""

nums = [float(x) for x in numstr.split("\n")]

This gives us an array of floating point python numbers

Now, we want to output them, having rounded. We can do that a few ways, the easiest is probably

for num in nums:
    print "%0.2f" % num

That will loop over all your numbers, and print them out one per line, formatted to two decimal places

Upvotes: 1

Paul Lo
Paul Lo

Reputation: 6138

Use the built-in function round(), example:

>>> round(4.7532,2)
4.75
>>> round(4.7294,2)
4.73

Upvotes: 7

Related Questions