Форум сайта python.su
Windows ,python 2.5.2
При добавлении числа с плавающей точкой (например 0.2) в список ,результат получается такой: 0.20000001
Как эта единица туда попадает? И как это исправить?
Код на котором пробовал
a=[]
a.append(0.2)
print a
n=[]
f=0.0
for i in xrange(0,20):
n.append(f)
f+=0.2
Отредактировано (Май 25, 2008 18:05:04)
Офлайн
Все нормально. 0.2 в двоичном вмде - бесконечная дробь. Так же как 1/3 в десятичном
>>> print str(0.2)
0.2
>>> print repr(0.2)
0.20000000000000001
Офлайн