Autor Zpráva
watchick
Profil
Mám dotaz,
řeším, jak vypočítat tzv. "pipy"
to jsou nejmenší rozdíly mezi 2ma cenami měnových párů
Například, když mám
Ceny: 1.345 a 1.335 je tam rozdíl 10 pipů
Stejně tak, když mám 1.2 a 1.115 je tam rozdíl 85 pipů
V tomto druhém příkladu se samozřejmě snadno vypočítá, že 1.2 - 1.115 je 0.085 tedy 85 pipů. Nicméně, jak získám z čísla 0.085 číslo 85 tak, aby to správně spočítalo i v případě:
že budou ceny 1.2000 a 1.1000, tedy rozdíl je 0.1, ale pipů je 1000?

Děkuji za veškeré návrhy
xmark
Profil
Jestli tam nemáš chybu a to zadání je skutečně takhle, stačí prostě spočítat počet čísel od tečky vpravo, nebo ne?
xmark
Profil
Nebo jinak. Myslel jsem to jako první fázi výpočtu, ale on je to vlastně celý výpočet, jen je potřeba ignorovat tečku a všechno vlevo od ní.
panther
Profil
watchick:
nějak mi není jasné, co má být výsledkem.

1.2 - 1.115 je 0.085 tedy 85 pipů => 1.2 - 1.1 je 0.1 tedy 100 pipů (logicky odvozeno)
ale o řádek níž píšeš, že
1.2000 - 1.1000 je 0.1 tedy 1000 pipů (a ne 100 jak jsem si odvodil o dva řádky výše). Jak to tedy je?
Darker
Profil
Myslím že ten člověk násobí dané číslo 10exp(počet desetinných míst), a potom dělá rozdíl.
To je zároveň odpověď na tu otázku.
watchick:Zjisti si počet desetinných míst, obě čísla vynásob 10 umocněnou na na ten počet a odečti je v absolutní hodnotě.
watchick
Profil
[#5] Darker
Díky, to bude pravděpodobně to, co jsem hledal.
Je nějaká funkce, která spočítá počet desetinných míst, nebo mám použít funkce pro práce s řetězci?
[#4] panther
No, samozřejmě právě to je ten problém, který tedy vyřešil Darker. Nemůžeš to jednoduše odečíst, jinak bych se neptal
xmark
Profil
watchick:
Jen se zeptám: v jakém datovém typu budeš ty hodnoty mít? Nějak nevím o ničem, co by uchovalo hodnoty 1.345 a 1.1000 a zároveň informaci o jejich "délce".
watchick
Profil
xmark:
V tomto případě když neurčíš typ, tak ti zůstane obojí

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0