在Python(2.6)中定义精度的除法
从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
正如你所说,你不想要一个四舍五入的数字,你可以试试这个