Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Ograniczenie miejsc po przecinku
warland
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 22.01.2018

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


Mam tego typu problem że co w 5 wyniku tworzy mi się liczba która nie wiem skąd się wzięła i jak ją ograniczyć.

kod:
  1. function round_down(n) {
  2. if (n > 0) {
  3. return Math.ceil(n / land_size) * land_size;
  4. } else if (n < 0) {
  5. return Math.ceil(n / land_size) * land_size;
  6. } else {
  7. return 0;
  8. }
  9. }
  10.  
  11.  
  12. var lat = round_down(event.latLng.lat()) - land_size;
  13. var lng = round_down(event.latLng.lng());
  14. var coord_slug = lat + ',' + lng;
  15.  


Przykłady wyników po użyciu alert(coord_slug); :
lnt = 52.1
lng = 18.5
land_size = 0.1
wynik coord_slug : 52.1,18.5
działa. Liczby wyświetlają się tak jak są w bazie zapisane

lnt = 52.1
lng = 18.4
land_size = 0.1
wynik coord_slug: 52.1,18.400000000000002
nie działa. Wyświetla się jakiś dziwny wynik


Czy ktoś wie jak temu problemowi zaradzić?
Czy dopisać trzeba do tego coś co ograniczy ilość liczb po przecinku?

Jeśli land size wynosi np. 0.5 , 1 czy 2 wszystko śmiga bez problemu

Proszę pomóżcie..

Ten post edytował warland 4.02.2018, 17:22:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
warland
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 22.01.2018

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


udało się to rozwiązać w ten sposób:
  1. var coord_slug = (Math.round(lat * 10) / 10) + ',' + (Math.round(lng * 10) / 10);


W tym przypadku math.round nie dodaje przecinka do liczb całkowitych. Następuje zaokrąglenie liczb dziesiętnych do 1 miejsca po przecinku z dokładnością do 0.1


Dziękuję oczywiście za pomoc w naprowadzeniu mnie na rozwiązanie. Łatwiej było szukać gdy już się coś zajarzyło dzięki podpowiedziom.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 23:45