Ez a kód miért 25% áfát számol mikor 20%-ot kellene hogy számoljon?
= $price - round($price * ( 20 / 100 ), 2);
Elnéztem valamit?
#23: pontosan. Bár ma már, amikor egy szerényebb képességű gép is legalább 4 GB memóriával, és négy, egyenként legalább másfél GHz-es procimaggal van szerelve, talán annyira nem releváns a különbség. De mindenképp előnyös, ha egy programozó képes optimálisabb kódot írni. Ha a "nagyok" is így tennének, akkor talán nem kéne párévente új gépet venni, vagy 50-100 ezret a bővítésbe ölni.
Kérdező: te pedig szégyelld magad. Nem azért, mert valamit nem tudsz, hanem azért, mert utána még kötekedsz, meg arcoskdsz, aki pedig magyarázattal, vagy akár kész megoldással is segít, azt meg letojod.
Bár a probléma inkább matematikai, mintsem programozási, ezt egy programozónak is illene átlátni. A #6. válaszban jólle van írva, hogy "visszafelé" az miért 20. El is van magyarázva egy példával, de mivel tudom, hogy lusta vagy visszaolvasni, felidézem: vegyük például a 100-at, mint kiindulási NETTÓ ár. Adjuk hozzá a 25%-át! Mennyi az? A 25% az 25 (ami a nettó ár egynegyede), a bruttó ár meg 125. Ezt két módon is kiszámolhatod: vagy kiszámolod külön a 25%-ot, és hozzáadod, vagy egyszerűen megszorzod 1,25-tel. Utóbbi optimálisabb. DE! A bruttó árnak, a 125-nek mennyi is az ÁFA-tartalma? 25. Ami a 125-nek nem egynegyede, hanem egyötöde. Ez azért van így, mert ugyanaz a mennyiség egy nagyobb számnak csak kisebb hányadát teszi ki, mint egy kisebb számnak. Ki is próbálhatod: veszel egy számot, hozzáadod a negyedét, majd az eredménynek meg elveszed a negyedét. Nem ugyanazt fogod kapni.
De nem az a gáz, hogy valamivel problémád van. Hanem az, hogy egyszerűen ignorálod a segítséget, sőt, mindezt elég beképzelt módon teszed.
#23 PHP-nal most komolyan azon lovagolsz hogy a floating point osztas az nehany tucat ciklussal hosszabb mint a szorzas?
Hany ezer ilyen muveletet kellene elvegezni, hogy lenyeges idokulonbseg legyen a ketto kozott? Nem lenne itt nagyobb jelentosege az olvashato kodnak inkabb?? Olyan nyelvekben ahol van compiler vagy JIT compailer az ki tudja optimalizalni az ilyesmit. Pl. ketto hatvanyokkal valo szorzasbol/osztasbol jo eselyel shift lesz.
Ez egy 2016 os benchmark matekra hihegyezve, PHP meg nodeJS-tol is le van maradva teljesitmenyben: [link]
Kod: [link]
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!