在Python(2.6)中定义精度的除法

2 投票
3 回答
10137 浏览
提问于 2025-04-16 00:03

future模块中导入division,这样我就可以进行一些需要精确度的除法运算。不过,它给出的结果是一个很长的数字,比如:

1.876543820098765

我只需要小数点后面的前两位数字,也就是1.87。我该怎么做呢?

3 个回答

1

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在程序中使用它。这就像你从冰箱里拿出食材,然后用它们做饭一样。

有些时候,我们会遇到一些问题,比如数据格式不对,或者程序运行时出现错误。这就像你在做饭时发现缺少某种调料,或者锅子没热好,导致菜做得不好。

为了避免这些问题,我们可以提前检查数据,确保它们是正确的,就像在做饭前先准备好所有的材料,确保没有遗漏。

总之,编程就像做饭,需要耐心和细心,确保每一步都做对,这样才能做出美味的“程序”。

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

>> 1.8765438201
>> 1.88
2

这些数字是以二进制浮点数的形式存储的。如果你只想显示两位小数,可以把这个浮点数转换成字符串,然后用类似于printf的语法来控制显示的位数。

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

这样做会把字符串限制为小数点后只有两位数字。

比如说,如果x/y = 1.876543820098765
那么mystring = "1.88"

4
"%0.2f" % yournumber
def twoDigits(x):
    return int(100*x)/100.0

正如你所说,你不想要一个四舍五入的数字,你可以试试这个

撰写回答