Par skaitļu apaļošanu
« previous entry | next entry »
Apr. 27., 2010 | 09:06 pm
posted by: atheist in pajautaa
Pastāstiet, kā jūs tiekat galā ar skaitļu apaļošanu, piemēram, MS Access. Tur ir viena funkcija Round, bet tā nedara to, ko vajadzētu, jeb
21% no 0.50Ls ir 0.105Ls, kas parādās kā 0.11Ls (jo uzlikts datu tips valūta un viņš parāda 2 ciparus aiz komata kā pienākas), bet līdz ko es gribu no 0.50Ls atņemt tos 0.11, tā tiek atņemti nevis 0.11, bet 0.105 un attiecīgi starpība ir 0.395, kas atkal tiek apaļots uz augšu un rezultātā PVN + summa bez PVN = 0.51Ls. Ko darīt, lai apaļojot 0.105 tiktu tiešām un tikai pie 0.11 un nekā cita un vispār apaļošana notiktu kā pie parastajiem mirstīgajiem?
21% no 0.50Ls ir 0.105Ls, kas parādās kā 0.11Ls (jo uzlikts datu tips valūta un viņš parāda 2 ciparus aiz komata kā pienākas), bet līdz ko es gribu no 0.50Ls atņemt tos 0.11, tā tiek atņemti nevis 0.11, bet 0.105 un attiecīgi starpība ir 0.395, kas atkal tiek apaļots uz augšu un rezultātā PVN + summa bez PVN = 0.51Ls. Ko darīt, lai apaļojot 0.105 tiktu tiešām un tikai pie 0.11 un nekā cita un vispār apaļošana notiktu kā pie parastajiem mirstīgajiem?
from: ad_nocendum
date: Apr. 27., 2010 - 09:17 pm
#
pļūtītpostot?Tā MS produkti dara - gan apaļo pareizi (kā mirstīgie), gan atņem pareizi (kā mirstīgie).
Tu vienmēr vari savā pvn laukā turēt nevis starpību, bet noapaļoto starpību. Un turpināt aprēķinus ar to. Labāk gan paprasi kādam grāmatvedim, kuru tieši rezultātu vajag glabāt, jo pēc visiem predikātiem viss tiek darīts pareizi.
Atbildēt | Diskusija
from: atheist
date: Apr. 27., 2010 - 09:22 pm
#
Nu es tad drīzāk nezinu, kā lai panāku, lai tas noapaļojums glabātos un ar to varētu darboties nevis vienkārši izskatītos, ka ir noapaļots, bet īstenībā nav.
Ja izmantoju "valūtas" nevis citu tipu, tad nav problēmas ar tiem 2 cipariem aiz komata, jo pirms "valūtas" esmu redzējusi vēl lielākus brīnumus aprēķinu rezultātos. 1 santīms nepareizi ir vēl pavisam maz :D
Atbildēt | Iepriekšējais | Diskusija
from: ad_nocendum
date: Apr. 27., 2010 - 09:25 pm
#
Atbildēt | Iepriekšējais | Diskusija
from: atheist
date: Apr. 27., 2010 - 09:33 pm
#
Atbildēt | Iepriekšējais | Diskusija
from: ad_nocendum
date: Apr. 27., 2010 - 10:04 pm
#
Atbildēt | Iepriekšējais
from: ad_nocendum
date: Apr. 27., 2010 - 09:18 pm
#
P.P.S. Nah Tev tādu datu tipu kā valūta?
Atbildēt
from: deele
date: Apr. 27., 2010 - 09:26 pm
#
Šī funkcija izmanto noapaļošanu-līdz-pārskaitlim loģiku. Ja apaļojamā izteiksme beidzas ar 5, "round()" funkcija noapaļos izteiksmi tā, lai pēdējais cipar ir pārskaitlis. Piemēram:
Round (12.55, 1) noapaļojas par 12.6 (apaļo uz augšu)
Round (12.65, 1) noapaļojas par 12.6 (apaļo uz leju)
Round (12.75, 1) noapaļojas par 12.8 (apaļo uz augšu)
Internetā atradu, ka cilvēki izmanto speciālas pašrakstītas funkcijas, ar kuru palīdzību realizē citādu\pielāgotu apaļošanu.
Atbildēt | Diskusija
from: atheist
date: Apr. 27., 2010 - 09:28 pm
#
Atbildēt | Iepriekšējais
from: taapati
date: Apr. 27., 2010 - 09:52 pm
#
Atbildēt | Diskusija
from: atheist
date: Apr. 27., 2010 - 09:57 pm
#
Atbildēt | Iepriekšējais | Diskusija
from: src
date: Apr. 27., 2010 - 10:40 pm
#
Atbildēt | Iepriekšējais | Diskusija
from: taapati
date: Apr. 27., 2010 - 11:15 pm
#
Atbildēt | Iepriekšējais