Jak mogę zaokrąglić liczbę w JavaScript?
math.round()
nie działa, ponieważ zaokrągla go do najbliższego miejsca po przecinku.
Nie jestem pewien, czy jest lepszy sposób na zrobienie tego niż zerwanie go w przecinku dziesiętnym przy zachowaniu pierwszego bitu. Musi być...
javascript
math
rounding
Ben Shelock
źródło
źródło
Odpowiedzi:
Korzystanie
Math.floor()
jest jednym ze sposobów na to.Więcej informacji: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
źródło
Zaokrąglaj w kierunku ujemnej nieskończoności -
Math.floor()
Zaokrąglanie w kierunku zera - zwykle nazywane
Truncate()
, ale nie obsługiwane przez JavaScript - może być emulowane za pomocąMath.ceil()
liczb ujemnych iMath.floor()
liczb dodatnich.źródło
x | 0
.Math.floor()
będzie działać, ale jest bardzo powolny w porównaniu doOR
operacji bitowej :EDYCJA nie
Math.floor()
jest wolniejsza niż przy użyciu | operator. Dzięki Jasonowi S za sprawdzenie mojej pracy.Oto kod, którego użyłem do testowania:
źródło
|
konwertuje na 32-bitową liczbę całkowitą, obcinając;Math.floor
zaokrągla w dół. jsfiddle.net/minitech/UVG2wMożesz spróbować użyć tej funkcji, jeśli chcesz zaokrąglić w dół do określonej liczby miejsc po przecinku
przykłady
źródło
Aby zaokrąglić w dół w kierunku ujemnej nieskończoności, użyj:
Aby zaokrąglić w dół do zera (jeśli liczba może zaokrąglić do 32-bitowej liczby całkowitej od -2147483648 do 2147483647), użyj:
Aby zaokrąglić w dół do zera (dla dowolnej liczby), użyj:
źródło
Zaokrąglanie w
number
kierunku0
można wykonać, odejmując podpisaną część ułamkowąnumber % 1
:Podobnie jak
Math.floor
(zaokrągla w kierunku-Infinity
) ta metoda jest całkowicie dokładna.Istnieją różnice w obsłudze
-0
,+Infinity
a-Infinity
jednak:źródło
źródło
Bawiąc się dzisiaj z kimś innym, odkrył, co również wydaje się zaokrąglać w dół:
Aby uzyskać więcej informacji na temat przesunięcia w prawo propagacji znaków (>>), zobacz Operatory bitowe MDN
Zajęło mi trochę czasu, aby zrozumieć, co to robi: D
Ale jak podkreślono powyżej, Math.floor () działa i moim zdaniem wygląda bardziej czytelnie.
źródło
Musisz umieścić -1, aby zaokrąglić do połowy, a następnie pomnożyć przez -1, tak jak w przykładzie poniżej.
źródło
Oto prosty przykład math.floor. Może to pomóc nowemu deweloperowi dowiedzieć się, jak używać go w funkcji i co robi. Mam nadzieję, że to pomoże!
źródło