如何围绕数字

时间:2014-12-20 03:38:30

标签: python rounding

我怎样才能将这些数字舍入到两个小数位,这些小数位都存储在由网络刮刀输出的变量中:

4.7532
4.7294
4.7056
4.6822857142857
4.65868
4.63522
4.6119866666667
4.58898
4.566064
4.543216

我是python的新手,所以我不确定。我使用的是Python 2

2 个答案:

答案 0 :(得分:7)

使用内置函数round(),例如:

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

答案 1 :(得分:1)

我想从你的说法来看,你有一个包含这些数字的字符串,你想将它们打印成2dp格式化吗?

如果是这样,首先要做的是将单个字符串拆分成一个数组,并转换为浮点数

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

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

这给了我们一个浮点python数组

现在,我们要输出它们,已经舍入。我们可以通过几种方式做到这一点,最简单的可能是

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

这将循环遍历所有数字,并将其打印出来,每行一行,格式化为两位小数