Omzetten stringwaarde (met '.') naar getalswaarde.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans De Ridder

Hans De Ridder

03/03/2018 17:52:37
Quote Anchor link
Voor berekende afstand kom ik via PHP op stringwaardes in km.
Zoals 169.7345123
Ik gebruik deze waardes verder in javascript.
Nu wil ik dit naar getalswaardes in meters.
ParseInt zet het om naar getallen tot de punt.
Dus 169 km.
Hoe krijg ik dit vanaf de oorspronkelijke stringwaarde naar 169734 meter?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
var js_array = [<?php echo '"'.implode('","', $x).'"' ?>];

for (var i = 0; i < neighborhoods.length; i++)
        {
a = parseInt(js_array[i]);

if (a <= x)
            {
addMarkerWithTimeout(neighborhoods[i], i * 200);
             }          
        }
}
 
PHP hulp

PHP hulp

29/11/2024 17:52:45
 
Thomas van den Heuvel

Thomas van den Heuvel

03/03/2018 18:16:25
Quote Anchor link
Nou, parseInt() werkt met integers, probeer het eens met parseFloat() wellicht?

Ook zou ik 169735 meter verwachten als je afrondt?
 
Hans De Ridder

Hans De Ridder

03/03/2018 18:33:52
Quote Anchor link
Bedankt Thomas..
Zo red ik het wel weer.
Kon de parseFloat() niet meer vinden, haha.
 
Rob Doemaarwat

Rob Doemaarwat

04/03/2018 09:36:38
Quote Anchor link
Waarom zet je de waarden in eerste instantie al tussen quotes? Je kunt toch ook:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var js_array = [<?php echo implode(',', $x) ?>];
Dan ziet javascript ze meteen als getallen.

Evt. kun je ook
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var js_array = <?php echo json_encode($x); ?>
Krijg je de array d'r ook nog gratis bij (moet het wel een array zijn, en niet een of andere non-numerieke key, want dan wordt het een object).

Dan kun je ook nog evt. "getallen als string" toch naar een getal drukken met de JSON_NUMERIC_CHECK optie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var js_array = <?php echo json_encode($x,JSON_NUMERIC_CHECK); ?>
Zelf heb ik daar "mixed results" mee, omdat ie alles wat maar op een getal lijkt naar een getal om gaat zetten (telefoonnummers, ID's die uit zowel cijfers en letters bestaan - maar dan toevallig "123e45", enz).
Gewijzigd op 04/03/2018 09:37:25 door Rob Doemaarwat
 
Hans De Ridder

Hans De Ridder

04/03/2018 10:24:42
Quote Anchor link
Je hebr gelijk Rob.
Bedankt voor je reactie.
Had ik ook geprobeerd.
Maar kwam foutmelding op.
Zal wel wat verkeerd geschreven hebben.
Dit gaat overigens over afstandsberekeningen binnen cirkel met latlon. (Googlemapsapi)
 
- Ariën  -
Beheerder

- Ariën -

04/03/2018 12:08:41
Quote Anchor link
Wat voor foutmelding resulteerde dat dan? We willen graag helpen, maar dan is het niet handig als je erg geheimzinnig bent over de eerder verkregen resultaten.
 
Hans De Ridder

Hans De Ridder

04/03/2018 12:22:33
Quote Anchor link
Ik moet dat nog uitzoeken Arien.
Is geen geheimzinnigheid, maar php deed niks meer.
Ik denk dat het weghalen van de quotes verkeerd gebeurde.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.