Усъвършенстването в Delphi 1

Усъвършенстването номера в изграждането на програмата е много важен механизъм. Тя ви позволява да се контролира точността на изчисленията, както и да повлияе на хода на алгоритъма в програмата.

В програмирането, има няколко възможни варианта за закръгляване - закръгляне до цялата или до определена точност на знака след десетичната запетая. Точно както го променя в зависимост от механизма на закръгляване - до най-близкото цяло число в посока на по-голяма цяло, или най-малкото цяло число. Поради всички тези задачи в Делфи, набор от математически функции. достъпно след добавяне на съответния раздел от описанието на библиотеката:

Усъвършенстването на стойност цяло число от

Усъвършенстването на близкото цяло число, използвайте следния набор от функции:

CEIL (X) - до по-голям число;

Подова (X) - в цяло число надолу;

Кръгла (X) - брой на цяло число до най-близкия край;

TRUNC (X) - брой на цяло число от otbarasyvaniya фракционна част.

Като опция тези функции използват фракционна стойност X, и се връщат цяло число. Примери на закръгляване номера:

// до най-близкото цяло число:
A: = CEIL (15.15); // А = 16
В: = CEIL (15.95); // В = 16

// до най-близкото цяло число:
A: = етаж (15.15); // А = 15
В: = етаж (15.95); // В = 15

// според математически правила за близкото цяло число:
A: = кръг (15.15); // А = 15
B: = кръг (15.15); // В = 16
C: = кръг (15.5); // С = 16
D: = кръг (15,4999); // D = 15

// изхвърли дробна част
A: = TRUNC (15.15); // А = 15
В: = TRUNC (15.95); // В = 15

* Въпреки сходството на резултатите, на подове и TRUNC има някои разлики. Етаж връща стойност от тип Integer, докато TRUNC - Int64, с по-голям диапазон от стойности. CEIL връща на същата стойност на цяло число. Кръгла връща Int64.

Усъвършенстването на предварително определена точност на десетични дроби

Най-удобна функция за тези изчисления е SimpleRoundTo. Тъй като параметрите е необходимо да се посочи фракционна номер и втория параметър отрицателно число. Вторият параметър показва броя на знака след десетичната запетая, необходими.

A: = SimpleRoundTo (15.1219, -1); // A = 15.1
B: = SimpleRoundTo (15.1219, -2); // В = 15.12
C: = SimpleRoundTo (15.1219, -3); // С = 15.122
D: = SimpleRoundTo (15.1219, -4); // D = 15.1219
Е: = SimpleRoundTo (15.1219, -5); // Е = 15.1219

Трябва да се отбележи, че закръглянето се случва според математически правила за най-близката стойност. Освен това, ако сте задали прецизността на по-голяма от първоначалната стойност, нули не заместват.

Други механизми закръгляне

Използването на една и съща функция SimpleRoundTo, можете да Изпълняват се закръгли на цяло, като втората нула параметър:

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

Ако е посочено положителна стойност, дадена от закръгляне нагоре до най малко желания номер:

A: = SimpleRoundTo (1235.1219, 1); // А = 1240 - до десетки
B: = SimpleRoundTo (1235.1219, 2); // В = 1200 - до стотици
C: = SimpleRoundTo (1235.1219, 3); // С = 1,000 - хиляди

Frac (х) функция позволява да отхвърли цяло число, оставяйки само частична част:

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

Друг материал от този раздел