[ M3RiM @ 04.06.2008. 13:18 ] @
| ne znam u cemo je stvar ali kada zadam da mi nadje srednju vrijednost od
10,001
10,005
10,003
10,004
10,002
on mi izbaci 10,00300094564148 ili slicno a treba da izbaci lijep rezultat 10,003 sto zapravo i jeste srednja vrijednost ovih brojeva. u cemu je stvar?????
samo jos da napomenem, ovih gore 5 brojeva su takodje dobiveni nekom funkcijom (oduzimenjem dva broja ili slicno). Da li to mozda ima uticaja?..... po meni, nebi trebalo da ima........ sta vi mislite??? |
[ Getsbi @ 04.06.2008. 13:25 ] @
Ono što vidiš od cifara prethodnih opracija nije sve što Access čuva. Probaj da zaokružiš rezultat sa funkcijom Round().
[ M3RiM @ 04.06.2008. 13:30 ] @
OK pokusat cu to. ali onih 5 brojeva su dobiveni kao fin rezultat.
npr. svaki broj je dobiven iz : 20,005 - 20,002 = 10,003
i tako za svaki broj. tako da mi nema smisla da on sam dodaje neke decimale koje zapravo nikako ne postoje. jer ono sto sam ja unio jeste 20,005 i 20,002 i lijepo mi je izracunao 10,003
tako da iz tih nekoliko rezultata treba da izracuna lijepu srednju vrijednost.......
[ DarioBH @ 04.06.2008. 14:55 ] @
Razlog tome je sto se za prikaz realnih brojeva koristi binarni floating point (single ili double precision), koji imaju odredjena ogranicenja u smislu preciznosti pa se brojevi poput 0,1 0,01 0,0001 itd nemogu precizno prikazati
Za primjer u jednu celiju u excelu probaj upisati broj 123456789123456789 a u drugu 132456789123456000 i to dvoje oduzeti
Rezultat bi trebao biti 789 a vidjeces da je 0
O ovim ogranicenjima moras dobro voditi racuna
[ Kiro @ 04.06.2008. 19:54 ] @
Slažem se sa @DarioBH da je tako, odnosno vjerujem da jeste tako, jer još davno sam to primjetio i postavio pitanje na forumu, ali dešavalo mi se je samo kad radim operacije sa poljem koje je Number tipa Single ako promijenim u Doble sve je korektno. Zato ti savjetujem da promijeniš tip podatka.
A evo i dva ista primjera u jednom tip podatka single a u drugom Double
[ M3RiM @ 07.06.2008. 02:25 ] @
hmmmmmm zanimljiva stvar. kod mene jeste single.....
dobro pokusat cu da promijenim na double. vjerujem da ce to biti to...
a zanima me, ako te podatke dalje uvrstavam u neke formule, i oni se dakle dalje obradjuju... da li ce ih kompjuter uvrstiti kao takve neprecizne ili ce uvrstiti one stvarne vrijednosti???
pa dobro vjerovatno ce uvrstiti te neprecizne... .... nevermind.
u svakom slucaju hvala na informaciji.
[ Getsbi @ 07.06.2008. 06:54 ] @
Poslušaj DaruioBH i Kiru.
Kad prebaciš Field Size tih kolona u tabeli sa Single: (jednostruka tačnost, 4 bajta) 7 decimala, na Double: (dvostruka tačnost, 8 bajta) 15 decimala, Access će sva izračunavanja da radi preciznije. Početne vrednosti koje već jesu u tabelama će se u buduće uzimati preciznije prilikom izračunavanja. Predpostavljam da ako je broj unet kao 4 bajta da će mu se samo povećati mogućnosti u buduće, a da mu se početna tačnost neće izmeniti.
P.S.
U kartici General za kolone tipa number, popuni Format recimo sa Standard i Decimal Places sa 2 ili 3. Tako te neće nervirati višak decimala koje u principu i ne treba da te interesuju, jer Access-u prepuštaš brigu o tačnosti. Za zaokruživanje u operacijama množenja, deljenja, stepenovanja,.... i dalje važi ono što sam napisao u svom prvom postu.
[Ovu poruku je menjao Getsbi dana 07.06.2008. u 08:13 GMT+1]
[ M3RiM @ 07.06.2008. 13:31 ] @
vec sam pretvorio u double, ali sada mi je unesene vrijednosti poremetio. gdje god je pisalo 10.0045 on je stavio 10.0045189325167
ali dobro, sad sam te viska brojeve obrisao i uglavnom sad radi dobro.
uglavnom daje tacan rezultat. ja sam zadovoljan i to je dovoljno.
pozdrav i hvala vam...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.