Zadejte hledaný výraz...

Výpočet procent v PHP

unlucky
verified
rating uzivatele
(16 hodnocení)
1. 7. 2022 16:07:52
Mám tuto funkci, která mi vrací barvu podle procent. Teďka jsem ale narazil na problém, že když je číslo příliš malé, tak místo 0,45% mi to vrací 450%
Zobrazuje se mi toto:
Správně by to mělo být 0,45 
1. 7. 2022 16:07:52
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504141
skorozacatecnik
verified
rating uzivatele
1. 7. 2022 16:32:56
Napsal unlucky;1647497
Mám tuto funkci, která mi vrací barvu podle procent. Teďka jsem ale narazil na problém, že když je číslo příliš malé, tak místo 0,45% mi to vrací 450%
Zobrazuje se mi toto:
Správně by to mělo být 0,45 
Oddělovač desetinných míst je tečka, ne čárka.
Pokud jde o čárku jako oddělovač řádů, tak ten se v číslech v PHP nepoužívá.
450,000 je konvertováno na 450
98,696,000 je konvertováno na 98
Pokud jde o celá čísla, pak je potřeba vynechat čárky.
Jinak se to konvertuje na int a pak to je 450 / 98 * 100
1. 7. 2022 16:32:56
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504140
unlucky
verified
rating uzivatele
(16 hodnocení)
1. 7. 2022 16:39:30
čárky tam jsou, protože jsem použil number_format.
Takže mám použít number format až na konec?
edit: Díky, už to funguje
1. 7. 2022 16:39:30
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504139
skorozacatecnik
verified
rating uzivatele
1. 7. 2022 16:42:16
Napsal unlucky;1647501
čárky tam jsou, protože jsem použil number_format.
Takže mám použít number format až na konci?
number_format použij až když ta čísla vykresluješ humanoidům třeba do html, interně v PHP používej standardní formát 12.34 což je float číslo.
1. 7. 2022 16:42:16
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504138
hm
verified
rating uzivatele
(20 hodnocení)
1. 7. 2022 22:45:39
Jen tu odlozim pro budouci ctenare trochu vic vysvetleni.
Pocitac proste pracuje s ruznymi typy dat jinak  (opravdu jsou binarne v pameti ulozena jinak) a podle typu s nimi pracuje ruznymi zpusoby, pokud pouzijes number_format, tak prevadis automaticky cislo na string - tedy textovy retezec (cisla najednou nejsou reprezentovany binarne jako cisla, ale jako text)... PHP sice i tak s tim umi pracovat jako s cislem, ale dela to tak, ze se pokousi opet prevest ten textovy retezec zpet na cislo a jelikoz je jako standard cisel v pocitacich oddelovac desetinnych mist tecka, nedokaze ho prevest spravne. 
Jedine spravne reseni je tak cisla vzdy nechavat jako cisla az uplne na konec retezce - tedy az do momentu kdy je opravdu vypisuji jako textovy retezec na web, jinak se bude dit nepredvidatelna magie. Jiny programovaci jazyk by ti ani nedovolil to udelat, ale php je prave hezke v tom ze se snazi ti to odpustit a presto to nejak zpracovat, bohuzel v tomhle pripade se mu to nepodari, ceske formatovani zkratka nezpracuje spravne... 
1. 7. 2022 22:45:39
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504137
unlucky
verified
rating uzivatele
(16 hodnocení)
3. 7. 2022 04:38:08
Napsal Aleš Jiříček;1647507
Jen tu odlozim pro budouci ctenare trochu vic vysvetleni.
Pocitac proste pracuje s ruznymi typy dat jinak  (opravdu jsou binarne v pameti ulozena jinak) a podle typu s nimi pracuje ruznymi zpusoby, pokud pouzijes number_format, tak prevadis automaticky cislo na string - tedy textovy retezec (cisla najednou nejsou reprezentovany binarne jako cisla, ale jako text)... PHP sice i tak s tim umi pracovat jako s cislem, ale dela to tak, ze se pokousi opet prevest ten textovy retezec zpet na cislo a jelikoz je jako standard cisel v pocitacich oddelovac desetinnych mist tecka, nedokaze ho prevest spravne. 
Jedine spravne reseni je tak cisla vzdy nechavat jako cisla az uplne na konec retezce - tedy az do momentu kdy je opravdu vypisuji jako textovy retezec na web, jinak se bude dit nepredvidatelna magie. Jiny programovaci jazyk by ti ani nedovolil to udelat, ale php je prave hezke v tom ze se snazi ti to odpustit a presto to nejak zpracovat, bohuzel v tomhle pripade se mu to nepodari, ceske formatovani zkratka nezpracuje spravne... 
Nedával jsem pozor a myslel jsem si že NUMBER_format převede řetězec na číselný formát a hezky to upraví
3. 7. 2022 04:38:08
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504136
hm
verified
rating uzivatele
(20 hodnocení)
3. 7. 2022 11:15:35
ono prave cislo ulozene v pameti ze sve podstaty neobsahuje zadne formatovani, to se da udelat jen prevedenim na string, ale chyba je to pochopitelna... naming konvence v PHP je dost strasna
3. 7. 2022 11:15:35
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504135
Radek Mrázek
verified
rating uzivatele
(7 hodnocení)
3. 7. 2022 18:47:35
Napsal Aleš Jiříček;1647507
Jen tu odlozim pro budouci ctenare trochu vic vysvetleni.
Pocitac proste pracuje s ruznymi typy dat jinak  (opravdu jsou binarne v pameti ulozena jinak) a podle typu s nimi pracuje ruznymi zpusoby, pokud pouzijes number_format, tak prevadis automaticky cislo na string - tedy textovy retezec (cisla najednou nejsou reprezentovany binarne jako cisla, ale jako text)... PHP sice i tak s tim umi pracovat jako s cislem, ale dela to tak, ze se pokousi opet prevest ten textovy retezec zpet na cislo a jelikoz je jako standard cisel v pocitacich oddelovac desetinnych mist tecka, nedokaze ho prevest spravne. 
Jedine spravne reseni je tak cisla vzdy nechavat jako cisla az uplne na konec retezce - tedy az do momentu kdy je opravdu vypisuji jako textovy retezec na web, jinak se bude dit nepredvidatelna magie. Jiny programovaci jazyk by ti ani nedovolil to udelat, ale php je prave hezke v tom ze se snazi ti to odpustit a presto to nejak zpracovat, bohuzel v tomhle pripade se mu to nepodari, ceske formatovani zkratka nezpracuje spravne... 
Dekuji za vysvetleni!
3. 7. 2022 18:47:35
https://webtrh.cz/diskuse/vypocet-procent-v-php#reply1504134
Pro odpověď se přihlašte.
Přihlásit