Metode de rotunjire în javascript, javascript
Ce să rotunjească numere?
rotunjirea zecimale
În scopul de a „tunde“ numerele zecimale utilizate metode toFixed () sau toPrecision (). Ambele iau un argument care specifică numărul de zecimale semnificative, și că ar trebui să fie incluse în rezultatul:- dacă toFixed () argument nu este specificat, valoarea implicită este 0, atunci nu există zecimale; valoarea maximă a argumentului este egal cu 20;
- dacă toPrecision () nu este specificat, numărul nu este schimbat.
Și toFixed (). toPrecision și retur în jurul șir reprezentarea rezultatului, nu numărul. Acest lucru înseamnă că adăugarea de rotunjită la randNum va duce la concatenare de coarde, și nu un singur număr:
toFixed () și toPrecision () metode sunt de asemenea utile pentru a trunchia un număr mare de zecimale. Acest lucru este util atunci când se lucrează cu numere care reprezintă unități monetare:
Rețineți că, dacă includeți mai multe caractere decât parametrii specificați de acuratețe, toPrecision va da rezultatul în formatul științific:
Cum de a evita greșelile în zecimale de rotunjire
Rezultatul exemplul de mai sus ar trebui să fie 1.01 în loc de 1. Dacă doriți să evitați această eroare, vă recomand să folosiți numere exponențiale:
Dacă aveți nevoie de o soluție chiar mai robust decât rotunjirii, este disponibil pe MDN.
Rotunjirea folosind Epsilon
Math.EPSILON poate fi folosit ca o funcție pentru a obține o comparație corectă:
Funcția are două argumente. una cuprinde calcul al doilea așteptat (rotunjit) rezultat. Se întoarce o comparație între acești doi parametri:
Toate browserele moderne suporta funcții matematice ES6. Dar dacă doriți să sprijine browsere mai vechi, ar trebui să utilizați polifilly.
Trunchierea numerelor zecimale
Dacă doriți ceva mai flexibil, puteți utiliza operatorii binari:
Rotunjirea la cel mai apropiat număr
Rețineți că „jumătate din valorile“, cum ar fi 0.5. rotunjit.
Rotunjește la cel mai apropiat număr întreg
Dacă doriți să rotunjească în jos lateral, utilizați metoda Math.floor ():
Rotunjirea „în jos“ este o singură direcție pentru toate numerele, inclusiv cele pentru negativ. Acest lucru poate fi reprezentat ca un zgârie-nori cu un număr infinit de nivele, inclusiv nivelul de sub fundație (reprezentând numere negative). Dacă sunteți într-un lift între subsol 2 și 3 (care corespunde -2.5), Math.floor te duc la etajul -3:
MDN prevede, de asemenea polifill de trei linii pentru a sprijini Math.trunc în browsere mai vechi și IE / Edge.
Rotunjind până la cel mai apropiat număr întreg
Dacă doriți să rotunji numere zecimale, utilizați Math.ceil. Efectul acestei metode poate fi, de asemenea, reprezentat ca un ascensor fără sfârșit: Math.ceil întotdeauna norocos esti „în sus“, indiferent dacă numărul de negativ sau pozitiv:
Rotunjirea la cel mai apropiat multiplu de
Dacă doriți să rotunji valoarea la cel mai apropiat multiplu de 5. crea o funcție care împarte numărul de 5. în jurul lui, iar apoi înmulțește rezultatul cu aceeași valoare:
Pentru a utiliza caracteristica inclusă în provocarea sa de numere rotunde și multiplicitate:
Pentru a rotunji valorile numai în sus sau în jos pentru a modifica funcția rotundă, în tavan sau podea.
Legarea la gama
Uneori ai nevoie pentru a obține valoarea lui x. care ar trebui să fie într-un anumit interval. De exemplu, aveți nevoie de o valoare de 1-100, dar vom obține o valoare de 123. Pentru a rezolva această problemă, puteți utiliza min () (returnează cel mai mic număr) și maxim (numărul maxim de retururi).
Puteți crea o caracteristică sau extinderea numărului de clasă:
Rotunjirea Gaussian
numere zecimale în CSS
browserelor moderne suporta valori zecimale în modelul de bloc, inclusiv unități de interes și de pixel.