Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 5.343 pregleda

Najnovija ↓

Zaokruživanje brojeva 12.10.2002. u 18:40 · pre 292 meseca #1
Prilikom matematičke operacije (npr. drugi korijen iz 2 = 1.4142....), ako je varijabla tipa Real, iznos se upisuje u datoteku sa cca 15 znamenaka. No prije upisa u datoteku potrebno je taj iznos zaokružiti na dvije znamenke (sukladno pravilima zaokruživanja dakle iznos 1.415 kao 1.42 ili 1.414 kao 1.41) Tražim najjednostavini način kako to učiniti sa što manje koda jer se operacije izračunavanja rade u pozadini sa iznosima polja datoteke.

Ovako npr.

with Table1 do
begin
Insert;
FieldValues('Iznos') := SQRT(2);
Post;
end;

Dakle potrebno je zaokružiti rezultat SQRT(2) na dvije znamenke i to na što jednostavniji način.
Re: Zaokruživanje brojeva 12.10.2002. u 22:51 · pre 292 meseca #2
Pomnozi sa sto pa pozovi round(), pa ponovo podeli sa sto.
Potpis
Don't try to impress me... I'm good !
Re: Zaokruživanje brojeva 14.10.2002. u 12:32 · pre 292 meseca #3
Ja obicno koristim funkciju FormatFloat, ali nisam siguran da li ce pravilno zaokruziti (nisam kod kuce da probam). Uglavnom, kod bi trebalo da izgleda ovako:

var
Promenljiva: Real;
s: string;
begin
Promenljiva := 0.125479617927;
s := FormatFloat('.00', Promenljiva);
end;

U Helpu imas kompletno objasnjenje funkcije.

Ako ti treba realna vrednost onda samo dobijeni string prebaci u Real pomocu StrToFloat funkcije.

Kada sve zavrsis trebalo bi da bude jedna linija koda, a to je, cini mi se, ono sto zelis...

Pozdrav
Potpis
http://www.activecollab.com - Alat za upravljanje projektima
Re: Zaokruživanje brojeva 15.10.2002. u 17:58 · pre 292 meseca #4
Hvala, hvala. Najednostavnije riješenje je množiti sa 100 pozvati round i podijeliti sa sto. Naredba FormatFloat je jednostavnija od načina na koji sam ja to radio no dosta je slična naredbi str i val. Ima manje koda.
U svakom slučaju hvala svima.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme