Je to docela jednoduché. Jde jenom o to uvědomit si, že je to podobné převodu času (funkce NOW) - je to tentýž postup jako pro čas i když jde o úhly. Jen se to odlišuje jako celek "1" celá = 360°
Pak jde jen o to, co to desetinné číslo reprezentuje. Například 1,25°= 1° + 1/25 *60 = 15 minut. Jde - li tedy o desetinnou část čísla, minuty jsou v rozsahu 60/100 = 0,06
Minuty 0,9999 až 0,06 z jednoho stupně
Vteřiny 0,05999 - 0,00000002777 (1/3600) z jednoho stupně
Samozřejmě když bude údaj v minutách - např 21,25 je to podobné 21 minut + 1/25 = 15 vteřin.
Běžně lze použít přímo převod na vteřiny a udaj zaokrouhlit. Tedy u desetinné části čísla za čárkou - například) 0,6852 a to vydělíme podílem na 1 vteřinu potom počet vteřin "x" = [0,6852]/[1/1296000] => 0,6852 x 360 = stupně (jako 6 hodin). Výsledek je ve vtřinách takže můžeme zpětně vydělit. Také samozřejmě můžeme zbytek odečíst. Postupů je více. Když by šlo o pravidelnou čínnost, tak makrem.
Když jde o celé stupně - tak je číslo "x" menší nežli 1 (samozřejmě existují úhly přes 360° - a tak bychom celé násobky čísla 360 odečetli).
Pak stupně = "x" * 360. Vše za desetinnou čárkou jsou minuty a vteřiny, ale nejlepší je postupovat zpětně. Zbytek /360 a to celé krát 360*60 = 21600. Zase zbytek jsou vteřiny ale po zpětném převodu 21600*60 = 1296000.
Možná by to chtělo začínat opravdu vteřinami - to je zřejmě velké číslo a to zjišťovat pomocí INTEGER (INT) a MODULO (MOD). Stupňů (s) je INT("x"/360*60*60) zbytek je MOD("x";360*60). Následně zase z modula uděláme INT. Minut (m) = INT(Výsledek Mod/60) a tak dál.
PS to je možná na první pohled složité takže ještě jinak například 2,7851:
1. 2,7851 * 360 = 1002,636 (více jak 2 celé otáčky)
2. dostaneme ze zbytku 0,636
3. 1002 je už ve stupních (1002°) potom 0,636 jsou minuty a vteřiny. Musíme zpětně přepočítat
4. 0,636 / 360 = 0,00176
5. 0,00176 * 60 = 0,106 => žádná minuta (0')
6. 0,00176 * 3600 = 6,36"
Editoval neutr (27. 11. 2014 13:52:18)
Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ