我遇到了一个与将float与Decimal进行比较相关的有趣问题:
./app.scss
Module parse failed: Unexpected character '@' (1:0)
You may need an appropriate loader to handle this file type.
BUT
>>> Decimal('1000.1000') == Decimal('1000.10')
True
2精度浮球从第3方来到我这里,所以我不能手动设置它的精度。这里的解决方案是从float转换 - > str - >像这样的小数?
>>> Decimal('1000.1000') == Decimal(1000.10)
False
这很笨拙。是否有规范的方法来进行这种比较?
答案 0 :(得分:0)
1000.10
已经失去了精确度。根本没办法让它回来。如果你已经知道你需要多精确,你可以str
然后截断/舍入它。
如果可能,请尽量将其保留为字符串或Decimal
对象,因为一旦它成为浮点数,您就已经失去了精度。