在python(2.6)分区中定义精度

时间:2010-06-16 14:13:49

标签: python floating-point string-formatting

来自未来导入部门 执行我需要一些精心的分裂。但是,它给出了一个很长的数字,例如:

1.876543820098765

我只需要“。”之后的前两个数字。 => 1.87 我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

"%0.2f" % yournumber

如你所说,你不想要一个四舍五入的数字,你可能想尝试

def twoDigits(x):
    return int(100*x)/100.0

答案 1 :(得分:2)

该数字存储为二进制浮点数。如果您只需显示两位数,则可以将浮点数转换为字符串,并使用printf语法控制显示的位数。

mystring = "%.2f" % (x/y)

这将限制字符串在小数点后只有2位数。

如果x/y = 1.876543820098765
mystring =“1.88”

答案 2 :(得分:1)

f = 1.876543820098765
print f
print round(f, 2)

>> 1.8765438201
>> 1.88