[ anjapetar @ 30.04.2009. 01:35 ] @
Imam problem i molim da mi neko pomogne.
Naime, prilikom racunanja (konkretno plata) primjenjuje se procentni racun za izracunavanje poreza i doprinosa. Rezultat se izracunava i formatira (po default) na 2 decimalna mjesta. Medjutim kada se saberu ovako izracunati prosjeci ne daju zbir prikazanih brojeva vec ima odstupanja. Na pr. 16.82+12.05=28.88 (treba 28.87).

Kako da ovo rijesim

Unaprijed HVALA
[ Getsbi @ 30.04.2009. 03:45 ] @
Round( expression [,numdecimalplaces] )

Round((16.82+12.05),2)=28,87
[ Crtani @ 01.05.2009. 00:33 ] @
Funkcija jeste round, ali primer nije dobar.
Treba zaokruziti svaki sabirak, a ne samo zbir.

Ovde je problem sto je izracunati doprinosi npr.
16.82444, iako se vidi samo 16.82
12.0543, iako se vidi samo 12.05
Kada saberes ova dva broja dobijas:
28.87874 pa se to prikazuje kao 28.88.

Medjutim, ako zakruzis sabirke ovako:
round(16.82444, 2) dobijas tacno onu vrednost koja se i prikazuje: 16.82
round(12.0543, 2) -> 12.05
i kada saberes ova dva broja dobijes 28.87




[ Getsbi @ 01.05.2009. 07:19 ] @
Potpuno se slažem. Lakonski sam ispisao funkciju nad njegovim primerom.
[ anjapetar @ 01.05.2009. 23:05 ] @
Hvala veliko, mnogo ste mi pomogli
[ anjapetar @ 02.05.2009. 00:00 ] @
Znaci, svi sabirci koji se dobijaju mnozenjem, dijeljenjem, korjenovanjem, ... moraju se izracunavati kroz finkciju Round(racunska operacija; 2-broj decimalnih mijesta). Samo sabiranje ovako izracunatih sabiraka nije potrebno provoditi kroz funkcuju Round.

Da li sam dobro shvatio?
[ Getsbi @ 02.05.2009. 06:07 ] @
Tako je.
[ anjapetar @ 02.05.2009. 21:01 ] @
Sve funkcionise savrseno,

Hvala