Kerekítés Delphi 1
Kerekítés számok egy program egy nagyon fontos mechanizmus. Ez lehetővé teszi, hogy ellenőrizzék a pontosság a számítás, valamint befolyásolja során az algoritmus a programban.
A programozás során számos lehetséges opciókat a kerekítés - kerekítés az egész, vagy egy megadott pontossággal tizedesjegy. Ahogyan változik a mechanizmus kerekítés - akár a legközelebbi egész számra az irányt egy nagyobb egész, vagy akár a legkisebb egész szám. Mindezen feladatokat Delphi, egy sor matematikai függvények. álló hozzáadása után a megfelelő részben a leírás a könyvtár:
Kerekítés egész szám értéke
Kerekítés a legközelebbi egész szám, akkor a következő szolgáltatásokat nyújtja:
Ceil (X) - a nagyobb egész szám;
Floor (X) - integer lefelé;
Kerek (X) - számot egésszé a legközelebbi oldalán;
TRUNC (X) - számot egésszé által otbarasyvaniya törtrészek.
Mint lehetőség ezeket a funkciókat használja a frakcionális érték X, és visszatér egy egész szám. Példák kerekítés szám:
// fel a legközelebbi egész számra:
A: = Ceil (15.15); // A = 16
In: = Ceil (15,95); // B = 16
// a legközelebbi egész számra:
A: = Floor (15.15); // A = 15
In: = Floor (15,95); // B = 15
// szerinti matematikai szabályok, a legközelebbi egész:
A: = forduló (15.15); // A = 15
B: = forduló (15.15); // B = 16
C: = Kerek (15,5); // C = 16
D: = Kerek (15,4999); // D = 15
// dobja a törtrész
A: = TRUNC (15.15); // A = 15
In: = TRUNC (15,95); // B = 15
* Annak ellenére, hogy a hasonlóság az eredmények, talaj és trunc van néhány különbség. Floor értéket ad vissza Integer, mivel trunc - Int64, amelynek nagyobb határok között változhat. Ceil vissza ugyanazt az értéket egész számra. Kerek visszaküld egy 64 bites egész szám.
Kerekítése egy előre meghatározott pontossággal jegyig
A legkényelmesebb funkció ezekben a számításokban SimpleRoundTo. Mivel a paraméterek meg kell határozni egy törtszám, és a második paraméter egy negatív egész szám. A második paraméter a tizedes helyek számát szükséges.
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
Meg kell jegyezni, hogy a kerekítés szerint történik matematikai szabályokat a legközelebbi értéket. Ezen felül, ha megadjuk a pontossága nagyobb, mint a kezdeti érték, nullák nem helyettesíti.
Más mechanizmusok kerekítés
Ugyanezzel SimpleRoundTo funkciót, akkor is teljesítenek kerekítés egész, a második nulla paraméter:
A: = SimpleRoundTo (15,1219, 0); // A = 15
Ha meg van adva pozitív érték, adott kerekítési a kívánt bit száma:
A: = SimpleRoundTo (1235.1219, 1); // A = 1240 - akár több tíz
B: = SimpleRoundTo (1235.1219, 2); // B = 1200 - több száz
C: = SimpleRoundTo (1235.1219, 3); // C = 1000 - több ezer
Frac (x) függvény lehetővé teszi, hogy elutasítja egy egész szám, így csak egy tört része:
A: = Frac (1235.1219); // A = 0,1219