【发布时间】:2012-05-23 18:09:46
【问题描述】:
当decimal.Decimal(math.sqrt(2))屈服时我很失望
Decimal('1.4142135623730951454746218587388284504413604736328125')
小数点后 15 位后的数字是错误的。 (尽管很高兴给你超过 15 位数!)
如何在 Python 中获得 sqrt(n) 的十进制扩展中的第一个 m正确 位?
【问题讨论】:
-
需要明确的是,精度损失发生在使用浮点的
math.sqrt(2)。之后将其设为Decimal并不能解决此问题。