Руководство разработчика

Ключевое слово ТОЧНОСТЬ

Точность сравнения чисел вещественного типа задается количеством десятичных знаков в диапазоне от 0 до 12. Для отключения точности сравнения задается значение -1. По умолчанию точность сравнения отключена и используется сравнение машинного представления вещественных чисел.


1. Оператор установки точности сравнения.

Оператор задает точность сравнения вещественных чисел во время выполнения.

Может использоваться только в теле функции или метода.

Синтаксис:

ТОЧНОСТЬ(<целочисленное выражение>)

или

ТОЧНОСТЬ(<целочисленное выражение>, <целочисленная переменная>)

Целочисленное выражение задает новое значение точности. Второй вариант позволяет получить предыдущее значение точности, которое принимает целочисленная переменная.

Пример:

ФУНКЦИЯ Расчет
  ПЕРЕМ ЧИСЛО: ч = 0.002
  
  ПЕРЕМ ЦЕЛОЕ: сохр_точность
  ТОЧНОСТЬ(2, сохр_точность) // устанавливаем сравнение до сотых 
                             // и запоминаем предыдущее значение точности
  ЕСЛИ ч = 0 ТО
    СООБЩЕНИЕ("Значение равно нулю с точностью до сотых")
  КОНЕЦ_ЕСЛИ 

  ТОЧНОСТЬ(3)                // устанавливаем сравнение до тысячных 
  
  ЕСЛИ ч = 0 ТО
    // этого сообщения не увидим
    СООБЩЕНИЕ("Значение равно нулю с точностью до тысячных")
  КОНЕЦ_ЕСЛИ 

  ТОЧНОСТЬ(сохр_точность)    // восстанавливаем предыдущее значение точности
КОНЕЦ_ФУНКЦИИ

2. Установка точности сравнения во время компиляции.

Определяет значение точности сравнения при вычислении константных выражений во время компиляции.

Действие ключевого слова ТОЧНОСТЬ распространяется на файл библиотеки. Указывается вне объявления типа и тела функции или метода.

Синтаксис:

ТОЧНОСТЬ = <константное целочисленное выражение>;

Целочисленное выражение определяет значение точности. Точка с запятой после выражения обязательна.

Пример:

ТОЧНОСТЬ = 1;
КОНСТ фи = 1.234 > 1.2; // НЕТ, т.к. 1.2 = 1.2

См. также: