Числові дані з плаваючою крапкою – це друга група типів даних. На відміну від цілих, в якості чисел з плаваючою крапкою можна зберігати десяткові дроби.
На жаль, при використанні числових даних з плаваючою крапкою виникають помилки при округленні, оскільки в пам’яті значення зберігаються з точністю до визначеної кількості цифр.
Тип REAL (дійсні) – це перший тип даних з плаваючою крапкою, для збереження яких в пам’яті виділяється 4 байти. Додатні та від’ємні числа можна зберігати як дані типу REAL з точністю до 7 цифр. Дані типу REAL належать інтервалу від (-3,4Е-38) до (+3,4Е+38).
Розглянемо другий тип даних з плаваючою крапкою. Для них виділяється 8 байт, якщо значення параметра n не вказано. Тип FLOAT [(n)] дозволяє зберігати додатні і від’ємні десяткові числа з точністю до 15 цифр. Допустимий інтервал – від (-1,7Е-308) до (+1,7Е+308). Якщо вказати значення n в інтервалі від 1 до 7, то це буде звичайний тип REAL. Якщо ж вказати значення n в інтервалі від 8 до 15, то це буде тип FLOAT [(n)] з такими ж характеристиками, як і у випадку, коли параметр n не вказується.
Типи DECIMAL [ (p [ , s ]) ] та NUMERIC [(p [ , s ] )] на відміну від FLOAT і REAL, дозволяють зберігати десяткові числа точно, без похибок. Допустимий інтервал значень і точність визначаються за допомогою параметрів p і s. Ви можете зберігати значення в інтервалі від (-10Е-38) до (+10Е+38) і використовувати для цього від 2 до 17 байт. Параметр p визначає точність, з якою можна зберегти десяткове число ( тобто, p – це загальна кількість збережених цифр). А параметр s визначає кількість збережених цифр справа від десяткової крапки (s повинно бути менше або рівне p). Якщо не вказати параметри p і s, то їм будуть присвоєні стандартні значення (p=18, s=0).