我定义了一个包含属性和打印功能的类,它将类的属性打印到控制台。如果我将打印功能称为:object.printing_function(),则打印所需的值,例如: 0.24
但是,当我从没有类访问属性时,如:object.attribute,返回值为0.23999999999999。
Print(object.attribute)也给出0.24,如何更改object.attribute返回0.24?
我正在使用: Spyder(Anaconda) Python 3.5
答案 0 :(得分:1)
您可以使用可以精确表示十进制数的$(document).click(function(evt) {
if ($(evt.target).closest('#search-container, #search-results').length == 0) {
searchInput.hide();
searchResults.hide();
}
});
类:
Decimal
正如评论所指出的那样,作为浮点数的0.24不能用二进制精确表示,正如1/3不能用十进制精确表示。
答案 1 :(得分:0)
如果属性是浮点数,如果直接访问该属性,则必须格式化输出:
val = 0.23999999999999
print("{:.2f}".format(val))
# Output
# '0.24'
答案 2 :(得分:0)
我认为你需要的是IPython精准魔术:
https://ipython.org/ipython-doc/3/interactive/magics.html#magic-precision
例如,在IPython控制台中编写此命令:
In [2]: %precision 3
之后,您将使用3个浮点数字打印所有数字。