A simple question :
1) In Python using numpy, how to get without parisitic decimals the follwing result (true value 0.6968) ? :
>>> 0.67*(1.04)
0.6968000000000001
If I convert to string, I can find the right value :
>>> str(0.67*(1.04))
'0.6968'
2) By the way, how to control the rounding to systematically get the real value ? I saw that epsilon machine with Python (and/or Numpy) was around 2e-16.
So, I conclude that taking 16 decimals is too small and implies random values after 16th decimal or more precisely below 2e-16.
I don't want to troll but Matlab (I like also Python) doesn't produce this kind of error.