I create a list of numbers in string format, transform into float and did some calculations, but there were decimal places that shouldn't exist. All numbers added have 2 decimal places.
ListaMACDL = []
ListaMM9 = []
ListaMM9.append("309.71")
ListaMM9.append("310.11")
ListaMM9.append("309.55")
ListaMM9.append("309.55")
ListaMM9.append("310.35")
ListaMM9.append("309.47")
ListaMACDL.append("245.60")
ListaMACDL.append("247.59")
ListaMACDL.append("244.80")
ListaMACDL.append("244.80")
ListaMACDL.append("248.79")
ListaMACDL.append("244.40")
difMACDL01 = (float(ListaMACDL[-1]) - float(ListaMM9[-1]))
difMACDL02 = (float(ListaMACDL[-2]) - float(ListaMM9[-2]))
difMACDL03 = (float(ListaMACDL[-3]) - float(ListaMM9[-3]))
difMACDL04 = (float(ListaMACDL[-4]) - float(ListaMM9[-4]))
difMACDL05 = (float(ListaMACDL[-5]) - float(ListaMM9[-5]))
difMACDL06 = (float(ListaMACDL[-6]) - float(ListaMM9[-6]))
somaDifMACDL1a3 = (difMACDL01 + difMACDL02 + difMACDL03)
somaDifMACDL4a6 = (difMACDL04 + difMACDL05 + difMACDL06)
print(ListaMACDL[-1])
print(ListaMACDL[-2])
print(ListaMACDL[-3])
print(ListaMM9[-1])
print(ListaMM9[-2])
print(ListaMM9[-3])
print("=======================")
print(ListaMACDL[-4])
print(ListaMACDL[-5])
print(ListaMACDL[-6])
print(ListaMM9[-4])
print(ListaMM9[-5])
print(ListaMM9[-6])
print("=======================")
print(difMACDL01)
print(difMACDL02)
print(difMACDL03)
print(difMACDL04)
print(difMACDL05)
print(difMACDL06)
print("=======================")
print(somaDifMACDL1a3)
print(somaDifMACDL4a6)
print("=======================")
print((somaDifMACDL1a3 == somaDifMACDL4a6))
After running the program, some misterious new decimal places emerged... look the result:
F:\Dropbox\Dropbox\win\TESTES>python winz.py
244.40
248.79
244.80
309.47
310.35
309.55
=======================
244.80
247.59
245.60
309.55
310.11
309.71
=======================
-65.07000000000002
-61.56000000000003
-64.75
-64.75
-62.52000000000001
-64.10999999999999
=======================
-191.38000000000005
-191.38
=======================
False
F:\Dropbox\Dropbox\win\TESTES>python
Python 3.8.9 (tags/v3.8.9:a743f81, Apr 6 2021, 14:02:34) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Where do these excess decimal places come from?