2011-11-22 15 views
8

Mam numer z przecinkiem, na przykład: 254,5. Potrzebuję 0 za ,5 tak to stoi jak 254,50 zamiast ..Jak zaokrąglić do 2 miejsc dziesiętnych?

używam tego, aby uzyskać numer:

Math.floor(iAlt/50) * 50; 

Jak mogę uzyskać 0 tył ,5?

+0

Nie chodzi o to, że twój opis pytania ma sens! IMHO – Baz1nga

+0

możesz pokazać próbkę i/p o/p? – Baz1nga

+0

Jeśli masz trudności z wyrażeniem swojego pytania, zawsze możesz opublikować kod. Prawdziwy i kompletny kod. –

Odpowiedz

24

Wypróbuj metodę toFixed(), która nakłada wartość dziesiętną na długość n z zerami.

var result = (Math.floor(iAlt/50) * 50).toFixed(2); 

Number zawsze usunie końcowe zera, więc toFixed zwraca String.

Ważne jest, aby pamiętać, że toFixedmusi być zadzwonić pod numer. Zadzwoń pod numer parseFloat() lub parseInt(), aby przekonwertować ciąg na numer, jeśli jest to wymagane (nie w tej sytuacji, ale na przyszłość).

+0

Ty, to działało dla mnie. –

+2

Twoje rozwiązanie nie działa. Zamiast tego prosta .toFixed (2) ładnie radzi sobie z zadaniem, zaokrągla do dwóch miejsc po przecinku (np. 42.568 staje się 42,57, a 42.331 staje się 42,33). –

+0

'var result = (Math.floor (iAlt * 50)/50) .toFixed (2);' – Swivel

Powiązane problemy