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 22:44 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 22:33 | Zajímavý projekt

    BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.

    ❗Červivý Hřib krade❗ | Komentářů: 3
    dnes 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 6
    dnes 09:55 | IT novinky

    Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.

    Ladislav Hagara | Komentářů: 11
    dnes 09:44 | IT novinky

    Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.

    Ladislav Hagara | Komentářů: 11
    dnes 09:33 | Nová verze

    Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    dnes 03:22 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Komunita

    Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.

    Ladislav Hagara | Komentářů: 1
    včera 21:33 | Zajímavý projekt

    ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    včera 21:00 | Zajímavý software

    ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2820 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: php zvláštní výpočet

    27.1.2011 09:38 maniakum | skóre: 20 | blog: medved
    php zvláštní výpočet
    Přečteno: 692×

    Hezký den,

     

    mám jednoduchý vzorec:

    $rozdil = $skutecnaspotreba - $spotrebacn;

    V jednom jediným případu mi rozdíl vychází takto:
    0.0999999998 = 12.1 - 12.00

    ale pokud udělám vzorec takto:

    $rozdil = "$skutecnaspotreba" - "$spotrebacn";

    je vše v pořádku:
    0.1 = 12.1 - 12.00

    V čem jsou tak důležité ty uvozovky? U jiných řádku v DB mi toto nedělá.

    Toto APT má schopnosti svaté krávy.

    Odpovědi

    Josef Kufner avatar 27.1.2011 09:55 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    Ty uvozovky tam nemají co dělat. Jimi převádíš číslo na řetězec a zpět, což je naprosto zbytečné.

    Vtip je v tom, že reálná čísla v počítači dělají různé ošklivé věci (hlavně při dělení a násobení). Takže se nedá moc spoléhat na to, že výsledek bude přesně to, co se očekává. Ty tam nejspíš nebudeš mít 12.00, ale něco jako 12.000000001.

    Řešení je jednoduché: Na konec přidej zaokrouhlení na požadovaný počet desetiných míst.
    Hello world ! Segmentation fault (core dumped)
    27.1.2011 10:03 maniakum | skóre: 20 | blog: medved
    Rozbalit Rozbalit vše Re: php zvláštní výpočet

    jasně, jedno číslo je z DB druhé se vypočítává a i když dám vypsat obě čísla před odečítáním, jsou v cajku, tedy 12.00 a 12.1. To nezaokrouhlené číslo mi nevadí, spíš mě to jen překvapuje. Díky za odpověď

    Toto APT má schopnosti svaté krávy.
    27.1.2011 10:47 l4m4
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    Co to je vypsat? Co to je v pořádku?

    Pokud PHP nějak samo nepřejde do decimální representace, což AFAIK nedělá, tak číslo 0.1 nebude nikdy přesně 0.1, ať už ho vyrobíš jakkoli, protože nemá přesnou IEEE floating point representaci.

    Takže buď to vypisuješ pokaždé jinak (tj. zaokrouhlí se na různé počty míst), nebo je některá z těch věcí ve skutečnosti string obsahující už zaokrouhlené číslo. Těžko říci.
    27.1.2011 10:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    Prostě stále platí:
    „čísla s plovoucí desetinnou čárkou nejsou čísla reálná“ :)
    Tady to bylo taky ... php standardně používá typ double.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    27.1.2011 11:34 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    Pokud chcete počítat přesně s desetinnými čísly (např. s měnou), nemůžete použít čísla s plovoucí řádovou čárkou – ta mají omezenou a proměnlivou přesnost. V takovém případě použijte např. BC Math (snad je to ten správný modul, PHP nepoužívám). Také byste ta čísla měl reprezentovat odpovídajícím typem v databázi – tam se ale přesná desetinná čísla používají běžně, takže už je tam nejspíš používáte. V MySQL je to třeba rozdíl typů float či double (plovoucí řádová čárka, nepřesná čísla) versus decimal či numeric (pevný počet desetinných míst, přesná čísla).
    27.1.2011 12:58 maniakum | skóre: 20 | blog: medved
    Rozbalit Rozbalit vše Re: php zvláštní výpočet

    ano, DB mám nastaveno decimal a jede se na dvě desetinný místa, proto nechápu, že to nespočítá přesně.

    Toto APT má schopnosti svaté krávy.
    27.1.2011 13:08 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    Počítá to PHP a tam jsou obě dvě hodnoty evidentně nějakého typu s plovoucí řádovou čárkou – float nebo double.
    27.1.2011 14:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    Pokud by to bylo z SQL:
    'select `skutecnaspotreba`,`spotrebacn` from `t1`;'
    pak něco jako
    $row = mysqli_fetch_row($rs);
    echo $row['skutecnaspotreba'] - $row['spotrebacn '];
    Tak to spíše spočítat na straně db, ale hlavně při hodnotách 12.10 - 12.00 to vypíše 0.1

    Pokud ovšem tam něco počítáte v PHP a kumulujete chybu, tak Vám pak vyleze něco v přesnosti odpovídající kumulované chybě.
    Pokud tam přidáváte uvozovky, tak přidáváte konverzi navíc tam a zpět, takže za určitých okolností se něco „ztratí“ i když se Vám to na první pohled zdá, že se to zlepšilo :).
    Pokud dáte bližší informace o tom jak data získáváte a co s nimi děláte, lze reprodukovat analyzovat proč se tak děje a případně doporučit co lze udělat jinak aby se to nedělo, bude-li to možné (Nebo se na to vykašlat, a posílat ven data zaokrouhlená a případně i formátovaná :)).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    27.1.2011 15:04 maniakum | skóre: 20 | blog: medved
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    $spotrebacn=MySQL_Result($vysledek, $i,"spotrebacn");
    $faktura=MySQL_Result($vysledek, $i,"faktura");
    $dobropis=MySQL_Result($vysledek, $i,"dobropis");
    $skutecnaspotreba = $faktura - $dobropis;
    $rozdil = $skutecnaspotreba - $spotrebacn;
    
    takhle to mám, vcelku mi nevadí, že mi nevyjde přesné číslo, jen se divím proč.
    Toto APT má schopnosti svaté krávy.
    27.1.2011 15:44 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: php zvláštní výpočet
    Hm za předpokladu, že používáte datový typ decimal či numeric např. DECIMAL(8,2), a máte tam hodnoty faktura=12.10, dobropis=0.00 a spotrebacn=12.00, měl by být výsledek v PHP 0.1 .
    Přihoďte si do SQL dotazu (`faktura` - `dobropis` - `spotrebacn`) AS rozdil a máte to na jistotu z jednoho zdroje :), nicméně čísla pro výstup by se měla formátovat, třeba pomocí number_format(), případně (s)printf().
    PS: zkusil jsem si to a mám 0.1 a PHP by mělo používat vnitřně double a při takovýchto hodnotách by to mělo klapnout is float-em…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vlákno • Nahoru

    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.