Používaní datového typu INT

lopata

Používaní datového typu INT
« kdy: 25. 11. 2013, 12:21:53 »
Dobrý den,

zkouším si napsat jednoduchý program pro obchodování na burze.
Pro prostudování API jsem zjistil, že na vytvoření objednávky musím zadat číslo ve formátu INT.

Já ale používám float a nerozumím, proč to má být INT - zmizí mi desetinná čárka. Takhle se v tom ztracím a rád bych tomu převodu rozuměl.

Uměl by mi někdo vysvětlit princip a důvod?
Popř odkázat na nějaký materiál ke studiu?
« Poslední změna: 25. 11. 2013, 13:09:13 od Petr Krčmář »


Zapik

Re:Programování, burza, používaní datového typu INT
« Odpověď #1 kdy: 25. 11. 2013, 12:38:18 »
INT je explicitní přesný datový typ, float je pouze přibližné číslo (s určitou přesností). Jelikož číslo objednávky musí být přesné (není vám jedno, jestli myslíte objednávku 2013000000150 a nebo 2013000000151), proto float je nepoužitelný.
Float se uchovává jako několik číslic (kolik jich je určuje přesnost) + exponent. Pokud byste měl float s počtem číslic menším jak 12, pak výše uvedené čísla jsou stejné a nelze je rozlišit, protože budou do floatu převedeny takto:
2,013 x 10^12

Zapik

lopata

Re:Programování, burza, používaní datového typu INT
« Odpověď #2 kdy: 25. 11. 2013, 12:55:45 »
Python
Kód: [Vybrat]
d = float(0.321213)
f = int(d)
print d
print f

vysledek:
Kód: [Vybrat]
0.321213
0

Nevim jak to mam prevest.  Takto bych si akorat objednal nulu

pepak

Re:Programování, burza, používaní datového typu INT
« Odpověď #3 kdy: 25. 11. 2013, 13:01:52 »
Normálně mívá příslušné API definováno, že desetinná čísla se uvádějí např. na 4 desetinná místa a do INTu se píše číslo*10000. Tzn. když budeš chtít koupit 12,345 kusu akcie, tak pošleš objednávku na 123450.

lopata

Re:Programování, burza, používaní datového typu INT
« Odpověď #4 kdy: 25. 11. 2013, 13:11:10 »
Aha, díky za pomoc.
Už jsem to našel i přesně definované v dokumentaci, jen na jiném místě.


kuka

Re:Používaní datového typu INT
« Odpověď #5 kdy: 25. 11. 2013, 14:25:58 »
Zde jen doplnim - pravidlo 1. nikdy nepouzivat cisla v plovouci carce pro jakekoliv financni udaje, vypocty atd. pravidlo c. 2 vyjimky z pravidla 1 neexistuji:-)