Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

[java script] Czy java script nie umie mnożyć???

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

[java script] Czy java script nie umie mnożyć???

Post 16.12.2004, 15:14:37

Witam jestem w trakcie tworzenia sklepu internetowego:
Sklep
Panel administracyjny sklepu
Sklep jest w fazie testów i większość nie dziala jednak możecie sobie swobodnie korzystać z tej wersji i testować.
-----------------------------------------------------------------
Problem ukazuje się kiedy doda się do koszyka produkt z ceną po przecinku czyli np.: 34.66 zł i zwiększa jego ilość za pomocą przycisków + i - :
W java script z mnożenia np.: 34.66 razy 7 wychodzi tej paskudzie - nie wiem jakim cudem: 242.61999999999998 ! No i co wy na to - bo dla mnie 34.66 razy 7 to jak w mordę strzelił 242.62 !!!
Kto mi to wyjaśni???
Java script pobiera z pola ukrytego 34.66 i 7 i kurcze wychodzi jej iloczyn 242.61999999999998 !
Z góry dziękuję za pomoc!
Avatar użytkownikaLasoczczyk
Posty: 185
Dołączył(a): 20.11.2004
Lokalizacja: Łódź

Post 16.12.2004, 15:23:12

Math.round, Math.floor, Math.ceil
oraz fixed
Avatar użytkownikabendi
Marek Będkowski

junkie

Posty: 2867
Dołączył(a): 08.12.2003
Lokalizacja: Wrocław

Post 16.12.2004, 15:39:48

No tak, to wiem że istnieje zaokrąglanie, ale kto mi wytłumaczy dlaczego java script robi (trzeba to powiedzieć) jawny błąd w mnożeniu!
Avatar użytkownikaLasoczczyk
Posty: 185
Dołączył(a): 20.11.2004
Lokalizacja: Łódź

Post 16.12.2004, 19:47:48

No rzeczywiscie - zarowno pod IE jak i pod Firefoxem.

Kod: Zaznacz cały
<script>
 alert(34.66*7)
</script>
Avatar użytkownikalunter
Posty: 795
Dołączył(a): 29.04.2004

Post 17.12.2004, 09:56:13

No dla mnie to jest debilizm żeby trzeba było pisac takie coś, aby pomnożyć liczby rzeczywiste a i b (zaokrąglenie do 2 liczb po przecinku):

Kod: Zaznacz cały
c=Math.round(a*b*100)/100;


co wy na to?
Avatar użytkownikaLasoczczyk
Posty: 185
Dołączył(a): 20.11.2004
Lokalizacja: Łódź

Post 18.12.2004, 12:32:17

bendi podał odnośnik do funkcji fixed(), która odpowiednio zaokrągloi wynik do X miejsc po przecinku. Sprawa z dla ciebie dziwnym wynikiem wiąże się AFAIK z sposobem przedstawiania liczb zmiennoprzecinkowych w JS. Więcej info w sieci (google)
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19571
Dołączył(a): 14.04.2002


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Ahrefs [Bot] i 5 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50325 zarejestrowanych użytkowników.
Najnowszy użytkownik: YCTDarre


Nasi użytkownicy napisali:

  • 935460 wiadomości
  • w 246484 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)