Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Niezgadzające się wyliczenia z kalkulatorów
Forum PHP.pl > Forum > Przedszkole
evolucja
Witam.
Na stronie KLIK mam dwa kalkulatory. Drugi jest 'odwrotnością' pierwszego...
Problem powstaje w momencie, kiedy w pierwszym kalkulatorze wpiszę w polu "Placisz ile" liczbę 141, a w drugim w polu "Chcesz ile" to, co wyszło w poprzednim formularzu.

Wtedy ten drugi wyliczył 140 podczas gdy w pierwszym wpisałem 141.

Naprawdę nie umiem tego wyliczyć inaczej... Myślę jednak, że zrozumiecie o co mi chodzi.
skowron-line
Może niedziała dlatego że
Cytat
Forbidden
You don't have permission to access / on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
evolucja
Teraz działa, miałem dostęp tylko dla mojego IP

Koledzy.. pomocy smile.gif
TheSnake
"Welcome to the home of tibiaservice.net
To change this page, upload your website into the public_html directory"
evolucja
Zmieniałem hosting... Obecnie naprawdę wszystko działa smile.gif

Proszę więc o pomoc tongue.gif
skowron-line
[JAVASCRIPT] pobierz, plaintext
  1. alert( parseFloat( '0.7'));
  2. alert( parseInt( '0.7' ));
[JAVASCRIPT] pobierz, plaintext

Sprawdź sobie taki kod i powinno Ci to pomóc, poza tym w jednej funkcji robisz inne działania w drugiej inne.
evolucja
No i nie rozumiem jak by mi to miało pomóc? Pierwsza opcja zawsze zwraca wynik taki jaki podam, a druga zaokrągla w dół.

Wiem, że inne. Działania są odwrotne.. i ja bym właśnie chciał aby wynik był przy nich jednakowy. Więc właśnie jakiś błąd z zokrąglaniem jest.
skowron-line
Cytat(evolucja @ 1.02.2010, 16:13:10 ) *
No i nie rozumiem jak by mi to miało pomóc? Pierwsza opcja zawsze zwraca wynik taki jaki podam, a druga zaokrągla w dół.

To nie są funkcje do zaokrąglania smile.gif
Math.round to jest funkcja do zaokrąglania.
Math.floor to też jest funkcja do zaokrąglania.

jak dasz sobie alert© i alert(c2) to zobaczysz że te 2 wyniki są takie same.
evolucja
Okej, to zameniłem to... Czyli nie ma szans by wyrównać te wyniki? sad.gif

@EDIT
W jednym dałek math.floor a w drugim math.ceil- wydaje się, że teraz działa. Czy jednak to rozwiązanie nie jest zawodne? Bo teraz w każdym inpucie jest wartość 1 jednak to się zmieni...

@EDIT2
Już widzę, że nie zawsze to działa.. np. przy liczbie 1000.
skowron-line
Cytat(evolucja @ 1.02.2010, 16:35:10 ) *
Okej, to zameniłem to... Czyli nie ma szans by wyrównać te wyniki? sad.gif


A kto tak powiedział questionmark.gif
[JAVASCRIPT] pobierz, plaintext
  1. var payon = 1;
  2. var wanton = 1;
  3. var amount = 1;
  4. var fee = 0.7;
  5.  
  6. var payon2 = 1;
  7. var wanton2 = 1;
  8. var amount2 = 1;
  9. var fee2 = 0.7;
  10.  
  11.  
  12. a = amount / wanton;
  13. b = a * payon;
  14. c = b * fee;
  15. d = Math.round(c);
  16.  
  17. alert( d );
  18.  
  19. a2 = amount2 / fee;
  20. b2 = a2 / payon2;
  21. c2 = b2 * wanton2;
  22. d2 = Math.round(c2);
  23.  
  24. alert( d2 );
[JAVASCRIPT] pobierz, plaintext
evolucja
Tak jak mówię- przy jednym ustawieniu działa na jednych liczbach a przy innym na drugich..

@EDIT
No ludzie pomóżcie...
skowron-line
masz różne działania dlatego różne wyniki dostajesz.
evolucja
To w jaki sposób je wyrównać? Albo inaczej je po prostu napisać? Napewno wiecie w jaki sposób ma to działać.
skowron-line
Cytat(evolucja @ 4.02.2010, 19:28:01 ) *
To w jaki sposób je wyrównać? Albo inaczej je po prostu napisać? Napewno wiecie w jaki sposób ma to działać.


Wiemy, ty też wiesz. Chyba masz jakiś wzór według którego masz obliczyć to coś.
evolucja
Do tego wzoru podaję wartość amount, reszta jest stała.
  1. a = amount / wanton;
  2. b = a * payon;
  3. c = b * fee;
  4. d = Math.round(c);

to jest wzór którego używam w każdym miejscu na stronie. Dlatego chciałbym dostosować ten drugi, czyli:
  1. a2 = amount2 / fee;
  2. b2 = a2 / payon2;
  3. c2 = b2 * wanton2;
  4. d2 = Math.round(c2);

po podaniu wyniku z wzoru wyżej, pokazywał wartość amount..

Więc już wiecie jak to działa, to z łaski swojej powiedźcie jak to rozwiązać.. już prawie tydzień się z tym męczę.

Koledzy...?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.