Dodaję i odejmuję pływaki w javascript, i muszę wiedzieć, jak zawsze przyjmować pułap dowolnej liczby, która ma więcej niż 3 miejsca dziesiętne. Na przykład:javascript - pułap kwoty w dolarach
3.19 = 3.19
3.191 = 3.20
3.00000001 = 3,01
Dodaję i odejmuję pływaki w javascript, i muszę wiedzieć, jak zawsze przyjmować pułap dowolnej liczby, która ma więcej niż 3 miejsca dziesiętne. Na przykład:javascript - pułap kwoty w dolarach
3.19 = 3.19
3.191 = 3.20
3.00000001 = 3,01
num = Math.ceil(num * 100)/100;
choć due to the way floats are represented, może nie dostać czysty numer do dwóch miejsc po przecinku. Dla celów wyświetlania zawsze rób: num.toFixed(2)
.
Właściwie nie sądzę, że chcesz reprezentować kwoty w dolarach jako float, z tego samego powodu cytowanego przez Box9. Na przykład 0.1 * 3! = 0.3 w mojej przeglądarce. Lepiej reprezentować je jako liczby całkowite (np. Centy).
Wierzę, że masz rację, przełączając wartości zmiennoprzecinkowe na liczby całkowite, więc przyjmuję Twoją radę. Dziękuję za szybką odpowiedź. – bmarti44
to działało świetnie, dziękuję (w rzeczywistości odpowiedział na moje pytanie). Ale. . . Prawdopodobnie zamierzam przyjąć rady Amnona, rób wszystko jako liczby całkowite – bmarti44
@ bmarti44, rada Amnona jest dobra, ale słowo ostrzeżenia. Używanie liczb całkowitych nie przyniesie żadnych problemów podczas dodawania i mnożenia, ale nie popadnie w fałszywe poczucie bezpieczeństwa: te same problemy pojawią się podczas dzielenia, np. '1/10 * 3'. Ale oczywiście w zależności od aplikacji może się to nie zdarzyć. –