No a zkoušel jste zadat ? Já skutečně dle posledních informací myslel, že chcete obdržet výsledky: 12,3546 -> 10 123,456 -> 120 1234,56 -> 1 230 12345,6 -> 12 350 atd. (toto právě dělá ten uvedený příklad). Jinak Martin se k tomu řešení taky již pomalu blíží, takže si myslím, že v příštím kole by již mohl sestavit správný kód (bude de facto stejný, jako ten můj. Bude, samozřejmě, podstatně jednodušší, protože bude řešit přesně a jen jeden z případů (jeden způsob zaokrouhlování na desítky), kdežto te můj byl pojat univerzálně. Pokud víte, že nikde ve své aplikaci nebudete potřebovat zaokrouhlovat jinak, než na desítky, je zbytečné se tím komplexním kódem zaobírat, pokud však uvažujete, že byste mohl časem chtít mít k dispozici zaokrouhlování i na jiné řády, nebo dokonce budete chtít uživateli dát možnost, aby si "přesnost výstupů" zvolil či nastavil sám, pak se něčemu takto komplexnějšímu asi nevyhnete. Pokud Vám ale mohu poradit, tentokrát ne jako programátorovi, ale spíše jako strojař strojaři, pak bych systém zaokrouhlování ještě jednou zvážil. Pokud máte délkové míry (pojezdy apod.), tam samozřejmě budete zaokrouhlovat dle rozličení pojezdového měřítka (pokud máte dělení na 0,05 mm, nemá valného smyslu mít výstupy v řádu desetitisícin). Pokud však máte rychlostní veličiny, velokost síly, hmotnosti a pod. tam jde většinou o procentuální přesnost měření (třeba u té rychlosti - většina mašin je poháněna asynchronními motory, u kterých se pohybuje rozptyl skluzu v rozmězí několika %), tak tam je ve zvyku zaokrouhlovat spíše na platná čísla. Pokud tedy zopakuji tu výše udanou řadu, tak jsou pro mne spíše zajímavé výstupy: 1,2345 -> 1,23 (při zaokrouhlení na desítky výsledek 0) 12,345 -> 12,3 (při zaokrouhlení na desítky výsledek 10) 123,45 -> 123 (při zaokrouhlení na desítky výsledek 120) 1234,5 -> 1230 (při zaokrouhlení na desítky výsledek 1230) 12345 -> 12300 (při zaokrouhlení na desítky výsledek 12340) atd. (ale to už bylo jen tak mimo soutěž)
|