* [[#tab-ua|UA]]
* [[#tab-en|EN]]
====== Number formatting, rounding, precision ======
This section is under development.
====== Форматування чисел, округлення, точність ======
Всі математичні обчислення TechEditor виконує з подвійною машинною точністю. Це означає, що кожне число в [[techeditor:math:start|математичній моделі]] може мати до 15 знаків після крапки і бути у діапазоні 2.23×10⁻³⁰⁸ .. 1.79×10³⁰⁸.
===== Що впливає на формат числа =====
Важливо розуміти, що вигляд числа на екрані і його повне (дійсне) значення — не одне й те саме. Значення числа зберігається в пам'яті комп'ютера, а користувач може бачити число на екрані у різних форматах (в залежності від налаштувань). Наприклад, якщо ввести в розрахунок змінну "a:=2.003" і вивести її подвійне значення з традиційним округленням до двох знаків після крапки, то матимемо результат:
a:=2.003
2*a=4.01
Якщо тепер ми захочемо вивести потрійне значення "a" з трьома знаками після крапки, то отримаємо:
3*a=6.009
Як бачимо, втрати точності не відбулося, адже у розрахунках TechEditor оперує вихідним значенням змінної "a:=2.003".
\\ \\
Загалом на те, як виглядатиме число на екрані, впливають або [[techeditor:getstart:options|опції]] TechEditor, або індивідуально обраний формат. Поточна робота з математичною моделлю і безпосередньо обчислення відбуваються за незмінними [[techeditor:math:syntax|синтаксичними правилами]].
==== Опції TechEditor ====
{{techeditor:options:options-calculation.png}}
\\ \\
На формат відображення чисел впливають наступні налаштування TechEditor:
* **Float format** — формат представлення числа, за замовчанням;
* **Max. number of digits** — обмежує загальну кількість цифр в числі;
* **Digits** — визначає або кількість знаків після крапки для формату Fixed (0..18) або кількість знаків в показнику експоненти для формату Scientific (0..4);
* **Show Trailing Zeros** — визначає, чи потрібно показувати кінцеві нулі для формату Fixed (якщо обрано формат General, ці нулі видаляються автоматично).
* **Decimal Separator** — символ-роздільник десяткових.
Опції "Max. number of digits" та "Digits" можна призначати для параметрів індивідуально, за допомогою специфікаторів (див. нижче).
==== Індивідуальний формат числа ====
У більшості випадків, ви можете призначити індивідуальний формат чисел, обираючи той чи інший специфікатор. Наприклад, [[techeditor:project:insertmath|Math Object]] дозволяє гнучко керувати кінцевим числовим результатом:
\\ \\
{{techeditor:mathobj:math-object-format.png}}
\\ \\
Текстові специфікатори можна редагувати.
===== Формати чисел та їх специфікатори =====
В текстових документах ([[techeditor:project:reports:start|звітах]]), [[techeditor:project:diagrams:start|діаграмах]] чи [[techeditor:project:mathsheets:start|математичних листах]] ви можете оперувати наступними числовими форматами:
* **General** (специфікатор **%g**) — загальний тип числа (обирається автоматично між фіксованим та науковим);
* **Fixed** (специфікатор **%f**) — фіксований тип числа (з округленням до вказаного розряду);
* **Scientific** (специфікатор **%e**) — науковий (експоненціальний) тип числа;
* **Number** (специфікатор **%n**) — число з системним розділювачем тисяч.
==== General ====
Загальний тип числа. За цією опцією, TechEditor намагається представити число в максимально компактному фіксованому форматі (Fixed), або використовує науковий формат (Scientific).
\\ \\
Приклади специфікаторів:
* **%g** : за замовчанням;
* **%.3g** : Digits = 3;
* **%4.1g** : Max. number of digits = 4; Digits = 1;
==== Fixed====
Формат з фіксованою крапкою. Якщо вказаного параметру "Max. number of digits" замало для повного представлення числа, то використовується науковий формат (див. Scientific).
\\ \\
Приклади специфікаторів:
* **%f** : за замовчанням;
* **%.1f** : Digits = 1;
* **%.2f** : Digits = 2;
* **%.3f** : Digits = 3;
==== Scientific ====
Науковий формат.
\\ \\
Приклади специфікаторів:
* **%e** : за замовчанням;
* **%.1e** : Digits = 1;
* **%.2e** : Digits = 2;
* **%2.3e** : Digits = 3;
==== Number ====
Те ж саме що й формат Fixed, але для розділення тисяч використовується спеціальний системний символ.
\\ \\
Приклади специфікаторів:
* **%n** : за замовчанням;
\\ \\
Цей розділ у розробці.