Различие между toFixed () и toPrecision ()?

Я плохо знаком с JavaScript и просто обнаруженный toFixed() и toPrecision() к круглым числам. Однако я не могу выяснить, каково различие между этими двумя.

Между чем различие number.toFixed() и number.toPrecision()?

115
задан informatik01 20 March 2015 в 12:29
поделиться

3 ответа

toFixed (n) обеспечивает длину n после десятичной точки; toPrecision (x) обеспечивает общую длину x .

Ссылка на w3schools: toFixed и toPrecision

EDIT :
Некоторое время назад я узнал, что w3schools не совсем лучший источник, но я забыл об этом ответе, пока не увидел, ээ, "восторженный" комментарий kzh.Вот дополнительные ссылки из Mozilla Doc Center для toFixed () и для toPrecision () . К счастью для всех нас, MDC и w3schools согласны друг с другом в этом случае.

Для полноты, я должен упомянуть, что toFixed () эквивалентен toFixed (0) и toPrecision () просто возвращает исходный номер без форматирования. .

125
ответ дан 24 November 2019 в 02:25
поделиться

Я считаю, что первый дает фиксированное количество десятичных знаков, тогда как второй дает фиксированное количество значащих цифр.

Math.PI.toFixed(2); // "3.14"
Math.PI.toPrecision(2); // "3.1"

Кроме того, toPrecision вернет экспоненциальное представление , если число целых цифр превышает указанную точность.

(Math.PI * 10).toPrecision(2); // "31"
(Math.PI * 100).toPrecision(2); // "3.1e+2"

РЕДАКТИРОВАТЬ: Да, и если вы новичок в JavaScript, я очень рекомендую книгу Дугласа Крокфорда " JavaScript: Хорошие части ".

55
ответ дан 24 November 2019 в 02:25
поделиться

При определенных обстоятельствах toPrecision () вернет экспоненциальную запись, а toFixed () - нет.

5
ответ дан 24 November 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: