Методи закръгляне в 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
Съвременните браузъри поддържат десетични стойности в модела на блок, в това число лихви и пиксел единици.