Python 3.4
Имею вот такой код:
f2 = round(f, 3)
buffer = 0.001
if f2 < buffer:
r = {'f=':f,'round(f,3)=':f2,'buffer=':buffer}
С него имею такой результат:
{'f=': 3.564236791125941e-09, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 1.3266317874845862e-06, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 1.9855396039131223e-08, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 6.35513772582379e-06, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 1.7587640969915497e-06, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 2.832111881297117e-06, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 2.5486645882828902e-05, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 8.51481378687756e-06, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 3.240056853934595e-07, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 2.5071613169100337e-06, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 4.280439648979284e-07, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 4.778466944528603e-07, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 2.841350227730452e-06, 'buffer=': 0.001, 'round(f,3)=': 0.0}
{'f=': 4.24937996249021e-05, 'buffer=': 0.001, 'round(f,3)=': 0.0}
Именно так и выводит, не смотря на условие
if
Если приписать
else:
r = 0
то, выводит нули
Объясните пожалуйста, каким образом округление до третьего знака переводит
f
в
f2
?
Что делаю не так и как сделать правильно?