DELPHI: Numbers
 

Delphi distinguishes in the way it uses text (string, char) and numbers (integer, real, etc.).

Variables are declared as integers if they use whole numbers (for example 23 or 765) and real if they have decimal fractions (for example 2.63 or 0.46544).

Apart from the data type Integer other related types include (ranges included):

Shortint ?128..127
Smallint ?32768..32767
Longint ?2147483648..2147483647
Int64 ?2^63..2^63?1
Byte 0..255
Word 0..65535
Longword 0..4294967295

Apart from the data type Real other related types include (ranges included):

Real48 2.9 x 10^?39 .. 1.7 x 10^38
Single 1.5 x 10^?45 .. 3.4 x 10^38
Double 5.0 x 10^?324 .. 1.7 x 10^308
Extended 3.6 x 10^?4951 .. 1.1 x 10^4932
Comp ?2^63+1 .. 2^63 ?1
Currency ?922337203685477.5808.. 922337203685477.5807

Mathematical operators can be used in Delphi:

Operation Delphi Operator Datatype(s) Example
Addition + + Integer / Real iX := iA + iB;
Subtraction - - Integer / Real rX := rA - rB;
Multplication ? * Integer / Real iX := iA * iB;
Division ? / Integer / Real
(answer Real)
rH := iD / iS;
Integer division DIV Integer iX := iA DIV iB;
Remainder after division MOD Integer iX := iA MOD iB;

Mathematical functions and procedures also exist that makes conversion between text and numbers and the manipulation of numbers easier:
 

Function /
Procedure

Purpose

Example

StrToInt

Converts string value to integer

iN := StrToInt(sNumber);

IntToStr

Converts integer value to string

sNumber := IntToStr(iN);

StrToFloat

Converts string value to real

rN := StrToFloat(sNumber);

FloatToStr

Converts real value to string

sNumber := FloatToStr(rN);

FloatToStrF

Converts real value to string with formatting (1 number after the decimal)

sN := FloatToStrF(rN, ffFixed, 5, 1);

Val

Converts string value to integer or real. Also checks for errors.

Val(sOriginal, iNum, iError);

Val(sOriginal, rNum, iError);

Trunc

Truncates (cuts) the decimal point

Trunc(4.5);

Round

Rounds real number to the nearest integer

Round(4.8);

Roundto

Rounds to a set power of 10

iH := Roundto(2745,3);

Inc

Increases value of variable

(You can also do this as:
iNumber := iNumber + 1;)

Inc(iNumber)

Dec

Decreases value of variable
(You can also do this as:
iNumber := iNumber - 1;)

Dec(iNumber)

Frac

Provides decimal part of real number

rK := Frac(3.54);

Sqr

Gives square of number typed in

rK := Sqr(16);

Sqrt

Gives square root of a number

rK := Sqrt(16);

Power

Raises first number to the power of the second number (134)

Power(13,4)

Pi

Provides the value of pi (π)

rW := rK * Pi;

Random

Provides a random number within a range of 0 and limit-1.

Randomize;
iX := Random(100);
(iX = any number between 0 and 99)


 

Return to Delphi resources index




Return to Home Page

2024 J Olivier. Except where otherwise noted, the content on this website is licensed under the terms of the Creative Commons BY SA 4.0 license. https://creativecommons.org/about/cclicenses/