![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 28.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Robię właśnie prostą aplikację w js, jednak napotkałem na dziwny problem, otóż wyniki z pozornie prostego działania wychodzą błędne.
No więc mam np. przelicznik C > K, K > C i dla niektórych wartości wychodzi dobrze dla innych jest źle Kod alert(18-273.15); alert(17-273.15); Pierwsza linia wyświetla -255.14999999999998 a druga -256.15 Drugi mój problem to dodanie wartości z inputa do liczby, w inpucie mam np. 25 i dodaję do tego 273.15 to wynik mam 25273.15 czyli normalnie łączy 2 ciągi, jeśli wpiszę np. 25.3 to wyniku nie mam żadnego, odejmowanie działa poprawnie. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ad1) Normalka ze przy liczbach zmienno przecinkowych takie rzeczy się dzieją
ad2) dokumentacja js -> parseInt() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 28.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za parseFloat, parseInt właśnie znalazłem ale to nie było to co było mi potrzebne.
A jest jakiś sposób aby liczyło normalnie, bo duża część mojego kodu używa liczb zmiennoprzecinkowych i w niektórych przypadkach wyniki są z kosmosu |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat A jest jakiś sposób aby liczyło normalnie, bo duża część mojego kodu używa liczb zmiennoprzecinkowych i w niektórych przypadkach wyniki są z kosmosu to etapie wykonywania obliczeń, licz to normalnie bez zaokrąglania (żeby nie zgubić końcówek), ale przy samym wyświetlaniu liczb zastosuj zaokrąglanie, np. Math.round, Kod Math.round(LICZBA) // zaokrągla 3.92292 do 4
Math.round(LICZBA * 100) / 100 // zaokrągla 3.92292 do 3.92 Ten post edytował PrinceOfPersia 16.05.2013, 17:00:43 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:50 |