Методи закръгляне в JavaScript, JavaScript

Какво да се закръгли числа?

Усъвършенстването десетични дроби

За да "изрязване" на десетични числа, използвани методи toFixed () или toPrecision (). И двамата вземе един аргумент, който определя броя на значителни знака след десетичната запетая, както и че трябва да бъдат включени в резултата:
  • ако toFixed () аргумент не е уточнено, стойността по подразбиране е 0, тогава няма никакви знака след десетичната запетая; максималната стойност на аргумента е равно на 20;
  • ако не е уточнено toPrecision (), броят не се променя.

И toFixed (). toPrecision и връщане кръг представителството низ от резултата, а не номера. Това означава, че добавянето на закръглена до randNum ще доведе до низове, а не един номер:

toFixed () и toPrecision () методи са полезни също така да се съкрати голям брой знака след десетичната запетая. Това е полезно, когато се работи с числа, които представляват парични единици:

Имайте предвид, че ако се включат повече символи, отколкото контролираните параметри от точността, с toPrecision ще даде резултат в научната формат:

Как да се избегнат грешки при закръгляването десетични дроби

Резултатът от примера по-горе трябва да бъде 1,01 вместо 1. Ако искате да избегнете тази грешка, препоръчвам ви да използвате експоненциални числа:

Ако имате нужда от още по-драстично решение от закръглянето, то е достъпно на ИДС.

Усъвършенстването използване Епсилон

Math.EPSILON може да се използва като функция за получаване на правилното сравнение:

Функцията отнема два аргумента. един включва изчисляване на втората очаква (закръглени) резултат. Тя връща сравнение на тези два параметъра:

Всички съвременни браузъри поддържат ES6 математически функции. Но ако искате да подкрепи по-стари браузъри, трябва да използвате polifilly.

Пресичането на десетични числа

Ако искате нещо по-гъвкави, можете да използвате побитови оператори:

Усъвършенстването до най-близкия броя

Имайте предвид, че "половината от стойностите", като например 0.5. закръглена нагоре.

Закръглява надолу до най-близкото цяло число

Ако искате да закръгляват надолу страна, да се използва метод Math.floor ():

Усъвършенстването "надолу" е една посока за всички номера, включително и тези за отрицателно. Това може да бъде представена като небостъргач с безкраен брой нива, включително на ниво под основата (представляващи отрицателни числа). Ако сте в асансьор между сутерена 2 и 3 (което съответства на -2.5), Math.floor ви отведе до пода -3:

MDN предвижда също polifill от три линии за подпомагане на Math.trunc в по-старите браузъри и IE / Edge.

Закръгляването до най-близкото цяло число

Ако искате да се закръглят на десетични числа, използвайте Math.ceil. Ефектът от този метод може да бъде представен като един безкраен асансьор: Math.ceil винаги сте късметлия "нагоре", независимо от това дали броят на отрицателен или положителен:

Усъвършенстването на най-близкото кратно на

Ако искате да се закръглят стойността на най-близкото кратно на 5. създаде функция, която разделя на броя от 5. около него, а след това умножава резултата по една и съща стойност:

За да използвате функцията, включени в неговото предизвикателство към кръглите числа и мултиплициране:

За да се закръглят стойности само в посока нагоре или надолу, за да промените кръг функция в достигам пределна точка или пода.

Свързването към обхвата

Понякога трябва да се получи стойността на х. който трябва да бъде в определени граници. Например, имате нужда от стойност от 1 до 100, но ние получаваме стойност от 123. За да поправите това, можете да използвате мин () (връща най-малкото число) и макс (максималния брой декларации).

Можете да създадете функция или разширение на номера на класа:

Закръгляване на Гаус

Десетични числа в CSS

Съвременните браузъри поддържат десетични стойности в модела на блок, в това число лихви и пиксел единици.