abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:11 | Nová verze

    Byla vydána nová verze 9.20 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček RustDesk Server pro vzdálený přístup.

    Ladislav Hagara | Komentářů: 0
    dnes 14:44 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 3.4.0 video editoru OpenShot (Wikipedie). Představení novinek také na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | Nová verze

    Byla vydána nová verze 1.6 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Podrobnosti na demo stránce.

    Ladislav Hagara | Komentářů: 2
    dnes 01:33 | Komunita

    Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.

    Ladislav Hagara | Komentářů: 10
    dnes 00:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.

    Ladislav Hagara | Komentářů: 31
    včera 14:00 | IT novinky

    Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným

    … více »
    Ladislav Hagara | Komentářů: 8
    včera 12:22 | Pozvánky

    Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.

    TomasVondra | Komentářů: 0
    včera 12:11 | Pozvánky

    Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.

    VSladek | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (20%)
     (17%)
     (23%)
     (15%)
     (24%)
     (15%)
     (18%)
    Celkem 469 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    Rozcestník

    Dotaz: PHP - problem pri generovani cisel

    3.2.2023 14:10 tom
    PHP - problem pri generovani cisel
    Přečteno: 737×
    Zdravim,

    potrebuji vygenerovat cisla od -10 do 10 s krokem 0,1

    Napsal jsem si nasledujici jednoduchy kod:
    for ($x = -10; $x < 10; $x = $x + 0.1) {
        echo "$x\n";
    }
    
    A podivejte co se mi vygeneruje za silenost:
    -1.5
    -1.4
    -1.3
    -1.2
    -1.1
    -1
    -0.90000000000002
    -0.80000000000002
    -0.70000000000002
    -0.60000000000002
    -0.50000000000002
    -0.40000000000002
    -0.30000000000002
    -0.20000000000002
    -0.10000000000002
    -1.8790524691781E-14
    0.099999999999981
    0.19999999999998
    0.29999999999998
    0.39999999999998
    0.49999999999998
    0.59999999999998
    0.69999999999998
    0.79999999999998
    0.89999999999998
    0.99999999999998
    1.1
    1.2
    1.3
    1.4
    1.5
    
    Netusi prosim nekdo co delam spatne? Dekuji.

    Řešení dotazu:


    Odpovědi

    Jendа avatar 3.2.2023 14:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: PHP - problem pri generovani cisel
    Takhle floaty fungují a nic s tím dělat nejde, maximálně můžeš použít "decimal float" pokud ti o to hodně jde a PHP to umí (ale s tím zase třeba nebudou umět pracovat různé knihovny). Jedno z "řešení" je že vypisuješ čísla jenom na nějaký rozumný počet desetinných míst, kolik je skutečně potřeba pro tvoji aplikaci (ve funkcích co umí printf-like formátování je to třeba "%.3f").

    0.1 myslím vůbec nejde ve standardních binárních floatech reprezentovat přesně, takže když s tím budeš dál pracovat, budou se ti „nepřesnosti“ ještě víc kumulovat.
    Jendа avatar 3.2.2023 14:34 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: PHP - problem pri generovani cisel
    Jinak to na co tak trochu narážíš je "numerická stabilita" a zde by například numericky stabilnější řešení bylo mít proměnnou jako celé číslo 10x větší a vždy to vydělit 10, protože takhle se ti chyby kumulují.

    Numerické knihovny jako například numpy na tuhle úlohu mají speciální funkce (numpy.linspace, numpy.arange) které jsem doufal že to ošetřují, ale teď jsem si zkusil že np.arange(-10,10,0.1) místo nuly taky dává -3.55271368e-14
    Řešení 1× (DaBler)
    3.2.2023 14:38 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: PHP - problem pri generovani cisel
    Za to môže: Pohyblivá řádová čárka.

    Takže si to generovanie musíš inak napísať. Napr.:
    <?php
    
    for($i=-100; $i<=100; $i++)
    	echo ($i/10)."\n";
    
    debian.plus@protonmail.com
    3.2.2023 14:43 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: PHP - problem pri generovani cisel
    Ďalšia pikolka je zaokrúhľovania.

    Ak chceš presnosť (doslova), tak sa na výpočty používajú "kalkulačky s ľubovoľnou presnosťou" (napr. program bc).
    debian.plus@protonmail.com
    4.2.2023 16:25 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: PHP - problem pri generovani cisel
    Alebo C kniznicu gmp.
    debian.plus@protonmail.com

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.