Rotunjirea în delphi 1

Rotunjirea numerelor în construirea unui program este un mecanism foarte important. Acesta vă permite să controlați acuratețea calculului, precum și de a influența cursul algoritmului în program.

În programare, există mai multe opțiuni posibile pentru rotunjire - rotunjire la întreg sau la o precizie specificată de zecimale. La fel cum variază în funcție de mecanismul de rotunjire - până la cel mai apropiat număr întreg în direcția unui întreg mai mare sau cea mai mică valoare întreagă. Pentru toate aceste sarcini în Delphi, un set de funcții matematice. disponibile după adăugarea secțiunea corespunzătoare descrierii bibliotecii:

Rotunjirea la o valoare întreagă de

Rotunjirea la cel mai apropiat număr întreg, utilizați următorul set de caracteristici:

Ceil (X) - la întreg mai mare;

Floor (X) - la număr întreg în jos;

Runda (X) - număr la un număr întreg la cea mai apropiată parte;

Trunc (X) - număr la un număr întreg de parte fracționată otbarasyvaniya.

Ca o opțiune aceste funcții utilizează o valoare fracționată X, și returnează un număr întreg. Exemple de numere: rotunjire

// până la cel mai apropiat număr întreg:
A: = ceil (15,15); // A = 16
In: = ceil (15,95); // B = 16

// la cel mai apropiat număr întreg:
A: = Floor (15,15); // A = 15
In: = Floor (15,95); // B = 15

// în conformitate cu regulile matematice la cel mai apropiat număr întreg:
A: = Round (15,15); // A = 15
B: = Round (15,15); // B = 16
C: = Round (15,5); // C = 16
D: = Round (15.4999); // D = 15

// aruncați partea fracționară
A: = Trunc (15,15); // A = 15
In: = Trunc (15,95); // B = 15

* În ciuda asemănării rezultatelor, Floor și Trunc există unele diferențe. Etajul returnează o valoare de tip Integer, în timp ce Trunc - Int64, având o gamă mai largă de valori. Ceil returnează aceeași valoare Integer. Runda returnează un Int64.

Rotunjirea la o precizie predeterminată de zecimale

Caracteristica cea mai convenabilă pentru aceste calcule este SimpleRoundTo. Ca parametri, este necesar să se specifice un număr fracționată, iar al doilea parametru un număr întreg negativ. Al doilea parametru indică numărul de zecimale necesare.

A: = SimpleRoundTo (15.1219, -1); // A = 15,1
B: = SimpleRoundTo (15.1219, -2); // B = 15,12
C: = SimpleRoundTo (15.1219, -3); // C = 15.122
D: = SimpleRoundTo (15.1219, -4); // D = 15.1219
E: = SimpleRoundTo (15.1219, -5); // E = 15.1219

Trebuie remarcat faptul că rotunjirii se întâmplă în conformitate cu regulile matematice la cea mai apropiată valoare. În plus, dacă specificați precizia mai mare decât valoarea inițială, zerouri nu substituie.

Alte mecanisme de rotunjire

Folosind aceeași funcție SimpleRoundTo, puteți efectua, de asemenea rotunjire la întreg, a declarat al doilea parametru la zero:

A: = SimpleRoundTo (15.1219, 0); // A = 15

În cazul în care se specifică o valoare pozitivă, dată de rotunjire la numărul de biți dorit:

A: = SimpleRoundTo (1235.1219, 1); // A = 1240 - până la zeci de
B: = SimpleRoundTo (1235.1219, 2); // B = 1200 - la sute
C: = SimpleRoundTo (1235.1219, 3); // C = 1000 - la mii

Frac (x) funcție vă permite să respingeți un număr întreg, lăsând doar o parte fracționară:

A: = Frac (1235.1219); // A = 0.1219

Un alt material din această secțiune