Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Zaokrąglenie w górę.
tzm
post
Post #1





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


To mam:

771.25
9017.875
112965.0625

A to potrzebuję:

771.25
9017.88
112965.06


Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


http://www.w3schools.com/jsref/jsref_tofixed.asp


--------------------
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1.  
  2. var liczba = 9017.875;
  3.  
  4. liczba = (Math.ceil(liczba*100)/100).toFixed(2);
  5.  
  6. console.log(liczba); // "9017.86"
  7.  
  8. // Zwraca jako string - jeśli dalej potrzebujesz liczby to dodaj:
  9.  
  10. liczba = parseFloat(liczba);
  11.  
  12. console.log(liczba); // 9017.86
  13.  
[JAVASCRIPT] pobierz, plaintext


HTH wink.gif

EDIT: dodałem Math.ceil - kapnąłem się dopiero, że chodzi o zaokrąglanie w gorę wink.gif

Ten post edytował Sephirus 7.08.2014, 10:45:46


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
tzm
post
Post #4





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


@Sephirus, no super super ale wyniki są zupełnie inne niż te które podałem Sephirus, nie było by problemu z tym gdyby nie fakt że to dane z macierzy która potem muszę obrócić i pomnożyć przez inną a to właśnie generuję kolosalne w wynikach błędy.


http://www.staff.amu.edu.pl/~zcht/pliki/Aproksymacja.pdf , strona 12. Chodzi o tą tabele i uzyskanie dokładnego wyniku.

@trueblue, już nawet z kolegą z pracy oglądamy o co chodzi z tym i patrz:

9017.880000000001 to wynik dla:

  1. result += parseFloat(Math.pow(data[i], pow).toFixed(2));



edit:

a żeby zabawnie było:

parseFloat(9017.875).toFixed(2) zwraca 9017.88

można zamknąć

Ten post edytował mitorski 7.08.2014, 11:00:39
Go to the top of the page
+Quote Post
Sephirus
post
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No tak jak Ci pisałem w kodzie - bez parseFloat to zwraca stringa - i pisałem, że jak mimo wszystko chcesz dalej działać na liczbie to jeszcze trzeba ten parseFloat wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
tzm
post
Post #6





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


problem leżał w totalnie innym miejscu, wczoraj do czegoś potrzebowałem na początku skryptu zrobić parseInt więc logicznie ucinał mi liczby po przecinku co miało wpływ na końcowy wynik. no przy debugowaniu znalazłem syf
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:42