PDA

Pogčedajte punu verziju : Udri PDV


webarto
20. 01. 2011., 00:21
Funkcija za odbijanje PDVa iz cijene. $pdv je procenat.
Povratna stopa za 18% PDV iznosi 15.2542372881, pa možete staviti to u varijablu $povratna ako koristite samo 18%.

function udri_pdv($cijena, $pdv = 18){
$povratna = abs(100 / (1 + ($pdv / 100)) - 100);
return round($cijena - (($cijena / 100) * $povratna), 2);
}

echo udri_pdv(118); // 100
echo udri_pdv(118); // 84.75

Petar Marić
20. 01. 2011., 02:41
// snip
echo udri_pdv(118); // 100
echo udri_pdv(118); // 84.75

Koji se rezultat dobija kada i treći put pozoveš funkciju sa cenom 118? :)

webarto
20. 01. 2011., 08:23
A greška, to drugo je 100 :) A kako je krenulo treće bi trebalo biti 69.5 :P

ljtruba
20. 01. 2011., 18:23
Meni je fascinantan ovaj koeficijent koji svi koriste... 15.2542372881
Kao da je tesko nesto podeliti sa 1.18

LiquidBrain
20. 01. 2011., 18:43
function udripdv_2($cena, $stopa) {
return $cena/(1+($stopa/100));
}


:D

ljtruba
21. 01. 2011., 22:31
A lik koji me je "ucio" poslu stalno mi diktirao taj koeficijent... hi hi

webarto
21. 01. 2011., 23:44
Tako treba, znaš, ovo */ 1.18 je previše hackerski :D

mangia
22. 01. 2011., 00:48
Ha ha ... Tako sam ja jednom kod knjigovođe... x/1.17 jest jednako...

NEEEEEEE moraš to ovako X*Y + Z*Đ * SQRT(-1)....

trazimcuruzabrak
21. 07. 2012., 11:38
A sta fali sledecem? Isto od cene oduzima pdv.


<?
function pdv($cena, $pdv = 18){
return ((100-$pdv)*$cena)/100;
}

echo pdv(130);
?>


A ako hocete da dodaje samo umesto znaka minus stavite znak plus u formuli.

webarto
21. 07. 2012., 11:46
... zato što imaš tri operacije, umjesto jedne.

trazimcuruzabrak
21. 07. 2012., 11:51
... zato što imaš tri operacije, umjesto jedne.

Pokretac teme u formuli je stavio 10 operacija, ne razumem? A nikako ne moze sa jednom operacijom. Ajde majketi napisi ti funkciju koja ce da odradi sa jednom operacijom. Ili te nisam razumeo sta si hteo da kazes

Br@nkoR
21. 07. 2012., 12:13
A sta fali sledecem? Isto od cene oduzima pdv.


<?
function pdv($cena, $pdv = 18){
return ((100-$pdv)*$cena)/100;
}

echo pdv(130);
?>


A ako hocete da dodaje samo umesto znaka minus stavite znak plus u formuli.

Hmm...
echo pdv(130) * 1.18;

trazimcuruzabrak
21. 07. 2012., 13:46
Hmm...
echo pdv(130) * 1.18;

A sto mnozis?

Br@nkoR
21. 07. 2012., 13:50
Ja samo testiram tvoju funkciju.

Probaj ovaj kod koji sam ja postavio sa tvojom funkcijom i napiši rezultat.
106.6 * 1.18 = 125.788

webarto
21. 07. 2012., 15:21
Branko hoće reći da nedostaje malo više od 4 dinara... će te neko hapsi sa tom funkcijom :)

ivanhoe
21. 07. 2012., 19:15
PDV od 18% znaci 18% od osnovne cene bez PDV-a, a ne 18% od ukupne sume (cena+PDV)

Operacija treba da bude 100 * $cena / (100 + $pdv)

trazimcuruzabrak
22. 07. 2012., 13:45
18% od 130 je 23.4 to kaze i svaki digitron :) I sad kad se od 130 oduzme 18% (23.4) dibije se 106.6!! A toliko daje i moja funkcija. E sad ja neznam sta tebi znaci broj 1.18 i sta njime hocete da kazete?

Nemanja Avramović
22. 07. 2012., 13:53
1.18 ti dodje 118%... 100*1.18 je 118 (100 + 18% od 100)

ako hoćeš samo vrednost PDV-a onda množiš sa 0.18 (100*0.18 = 18)

130 * 0.18 = 23.4

trazimcuruzabrak
22. 07. 2012., 13:58
1.18 ti dodje 118%... 100*1.18 je 118 (100 + 18% od 100)

ako hoćeš samo vrednost PDV-a onda množiš sa 0.18 (100*0.18 = 18)

130 * 0.18 = 23.4

A sto 118% ????? nista ne kontam

Br@nkoR
22. 07. 2012., 13:59
Pročitaj šta je @ivanhoe napisao.

Ne možeš tako da računaš.
ukupna cena = osnovna cena + pdv
ukupna cena = 100% + 18%
ukupna cena = 118%
Dakle 130 = 118% (osnovne cene)

130 118%
x 100%

130 : x = 118 : 100

x = (130 * 100) / 118

x = 110.1694...

provera:
ukupna cena = 110.1694 + 18% = 110.1694 * 1.18 = 130

A kod tebe je:
ukupna cena = 100%
pdv = 18%
osnovna cena = 100% - 18% = 82%

130 100%
x 82%

130 : x = 100 : 82

x = (130 * 82) / 100

x = 106.6

provera:
ukupna cena = 106.6 + 18% = 106.6 * 1.18 = 125.788 ≠ 130

Nemanja Avramović
22. 07. 2012., 14:20
Ja se izvinjavam, nisam pročitao prvu poruku u temi :) Mislio sam da se pita kako najkraćim kodom dodati tih 18%...