我怎样才能将这些数字舍入到两个小数位,这些小数位都存储在由网络刮刀输出的变量中:
4.7532
4.7294
4.7056
4.6822857142857
4.65868
4.63522
4.6119866666667
4.58898
4.566064
4.543216
我是python的新手,所以我不确定。我使用的是Python 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
这将循环遍历所有数字,并将其打印出来,每行一行,格式化为两位小数