Number.toPrecision() в JavaScript — задана точність числа
Загальний опис
Метод Number.prototype.toPrecision() дозволяє отримати текстове представлення числа з вказаною точністю. Ця функція корисна, коли потрібно представити число з певною кількістю знаків, незалежно від того, чи вони знаходяться перед чи після десяткової крапки.
Використання методу toPrecision() досить просте. Він приймає один аргумент – ціле число від 1 до 100, яке вказує на бажану точність (тобто кількість знаків у числі). Якщо аргумент не передається, метод повертає рядок без змін.
Ось декілька прикладів:
let num = 12345.6789;
console.log(num.toPrecision()); // "12345.6789" (без змін)
console.log(num.toPrecision(5)); // "12346" (п'ять знаків)
console.log(num.toPrecision(7)); // "12345.68" (сім знаків)
console.log(num.toPrecision(10)); // "12345.67890" (десять знаків)
Важливо враховувати, що метод toPrecision() повертає рядок, а не число. Це означає, що ви не зможете виконувати математичні операції без подальшого перетворення результату назад у число.
Також слід зазначити, що якщо вказана точність менша за кількість цифр у цілій частині числа, число округляється до найближчого значення. Наприклад, 123456.toPrecision(3) повертає рядок "1.23e+5", який відображає науковий формат запису.
- Нотатка
-
Метод
toPrecision()дозволяє вам вказати загальну кількість значущих цифр у числі. Це особливо корисно, коли потрібно вивести число з певною точністю.
автор: Bondlet number = 123.45678; console.log(number.toPrecision(3)); // "123" - Нотатка
-
Якщо викликати
toPrecision()для дуже маленького чи великого числа, результат може бути представлений у науковому форматі.
автор: Bondlet smallNumber = 0.000012345; console.log(smallNumber.toPrecision(2)); // "1.2e-5" - Нотатка
-
Метод
toPrecision()автоматично округлює число до вказаної кількості значущих цифр.
автор: Bondlet anotherNumber = 9.876; console.log(anotherNumber.toPrecision(2)); // "9.9"
Синтаксис
toPrecision()
toPrecision(precision)
Параметри
precision-
Ціле число, яке вказує кількість значущих цифр у числі.
автор: Bond
Повернення
value-
Повертає рядок, що представляє об'єкт
автор: BondNumberу форматі з фіксованою точкою або в експоненціальному форматі, округлений до заданої кількості значущих цифр.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | 2 | 7 | 12 | 5.5 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 0.10.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Цей код дозволяє користувачеві вводити число та вибирати точність за допомогою повзунка. Після натискання на кнопку "Форматувати", число відображається з вказаною точністю.
HTML
<header>
<h2 class="title">Number.prototype.toPrecision()</h2>
<p class="description">Встановлює та повертає форматоване число з вказаною точністю.</p>
</header>
<main>
<div class="result">
<label for="number">Введіть число:</label>
<input type="number" id="number" value="12345.6789">
<label for="precision">Виберіть точність (1-10):</label>
<input type="range" id="precision" min="1" max="10" value="5">
<span id="rangeValue">5</span>
<br>
<button onclick="displayPrecision()">Форматувати</button>
<p id="formattedNumber">Форматоване число: </p>
</div>
</main>
CSS
body {
font-size: 16px;
line-height: 1.5;
font-family: monospace;
}
header {
background-color: #f1f1f1;
margin-bottom: 25px;
padding: 15px;
-webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
-moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
header h2.title {
padding-bottom: 15px;
border-bottom: 1px solid #999;
}
header p.description {
font-style: italic;
color: #222;
}
.result {
background-color: #f8f8f8;
padding: 15px;
-webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
-moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
label, input, button, span {
margin: 5px;
}
JS
function displayPrecision() {
let num = parseFloat(document.getElementById('number').value);
let precision = document.getElementById('precision').value;
let formatted = num.toPrecision(precision);
document.getElementById('formattedNumber').innerText = 'Форматоване число: ' + formatted;
}
document.getElementById('precision').addEventListener('input', function (e) {
document.getElementById('rangeValue').innerText = e.target.value;
});
//# sourceURL=pen.js
У цьому прикладі ми використовуємо метод toPrecision() для відображення числа з вказаною кількістю значущих цифр. Це може бути корисним, наприклад, коли потрібно надати приблизну відповідь або при виконанні наукових розрахунків.
let number = 3.141592653589793;
// Відображення числа з трьома значущими цифрами
let preciseNumber = number.toPrecision(3);
console.log(preciseNumber); // 3.14
У цьому прикладі ми розглядаємо ситуацію, де ми отримуємо дані від сенсора, який вимірює температуру з високою точністю. Ми хочемо відобразити температуру для користувача, але з обмеженою кількістю значущих цифр.
let rawSensorData = 21.5634872348723;
// Функція для отримання пристойного відображення температури
function formatTemperature(temperature, significantDigits) {
return temperature.toPrecision(significantDigits) + "°C";
}
console.log(formatTemperature(rawSensorData, 4)); // 21.56°C
console.log(formatTemperature(rawSensorData, 5)); // 21.563°C
Коментарі
Коментарів ще немає — будьте першим!