• 2 odgovora
  • 2.945 pregleda
Jednostavna funcija konvertovanja kursa pomoc 01.08.2011. u 20:09 · pre 185 meseci #1
Jos uvek ucim baze podataka i u okviru jednog od domacih izmedju ostalog treba da se napise funkcija koja konvertuje dugovanje studenta iz dinara u eur. Ja sam napisao prilicno jednostavnu funkciju, ali problem mi je prikaz odnosno broj koji dobijem je tipa 18.51851851851851851851851851851851851852, a ja zelim da to bude 18.51 odnosno samo dve decimale.

Pokusavao sam dosta toga ali nista kako treba.

Funkcija je sledeca:

Code:

create or replace
function dinari_u_evro(DUGOVANJE NUMBER)
return number
as 
EUR number;
begin
  return dugovanje/108;

end dinari_u_evro;


pokusao sam i ovako:
Code:
create or replace
function dinari_u_evro(DUGOVANJE NUMBER)
return number
as 
EUR number(6,2);
begin
  return dugovanje/108;

end dinari_u_evro;
ali ne ide.
Sta treba da promenim u funciji da to uspe?
Re: Jednostavna funcija konvertovanja kursa pomoc 02.08.2011. u 01:47 · pre 185 meseci #2
U obe verzije funkcije si deklarisao promenljivu eur koju ne koristiš.
Ako probaš da promeniš program tako da umesto:

return dugovanje/108;

staviš

eur := dugovanje/108;
return eur;

onda će u drugom slučaju da vrati vrednost zaokruženu na dve decimale.

Umesto toga, možeš odmah i da napišeš

return round(dugovanje/108, 2);

Inače, nije ti baš dobra ideja da zakucaš odnos EUR/RSD u funkciju.
Re: Jednostavna funcija konvertovanja kursa pomoc 02.08.2011. u 11:14 · pre 185 meseci #3
E super odradio sam kao ovu prvu varijantu hvala na pomoci.

Znam da nije dobro da u samoj funkciji odredim koji je kurs to bi trebalo opet da bude neka promenljiva koja se menja iz dana u dan... ali ovo je samo jedan prost primer za fax tako da je ovo ok.

Hvala na pomoci.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme