L'objet n'a pas de méthode indexOf'
J'ai la fonction suivante (tirée de L'élévation de Service @ Google Maps API) de sortie par exemple 63.00425720214844
quand je clique quelque part sur la carte que j'ai créé avec Google Maps JavaScript API v3:
function getElevation(event) {
var locations = [];
var clickedLocation = event.latLng;
locations.push(clickedLocation);
var positionalRequest = {
'locations': locations
}
elevator.getElevationForLocations(positionalRequest, function(results, status) {
if(status == google.maps.ElevationStatus.OK) {
var s = results[0].elevation
if(results[0]) {
alert(s.substring(0, s.indexOf('.') - 1));
} else {
alert('Inget resultat hittades');
}
} else {
alert('Det gick inte att hitta höjdskillnaden på grund av följande: ' + status);
}
});
}
Je veux supprimer tout ce qui est après le point avec le point, par exemple supprimer .00425720214844
de 63.00425720214844
mais quand je clique quelque part sur la carte, j'obtiens ce message d'erreur dans la console: Uncaught TypeError: Object 63.00425720214844 has no method 'indexOf'
.
Qu'ai-je fait de mal?
Merci d'avance.
Je ne sais pas exactement avec elle imprime
stackoverflow.com/questions/4265879/...
Je l'ai déjà lue cette question et aussi les réponses.
par la voie, vous pourriez envisager de déplacer le s = ... cession par 1 ligne, sinon vous êtes à la vérification de résultats[0] après que vous avez déjà consultées.
Ce n'
63.00425720214844
.stackoverflow.com/questions/4265879/...
Je l'ai déjà lue cette question et aussi les réponses.
par la voie, vous pourriez envisager de déplacer le s = ... cession par 1 ligne, sinon vous êtes à la vérification de résultats[0] après que vous avez déjà consultées.
Ce n'
console.log(typeof s)
ou console.dir(s)
dites-vous?OriginalL'auteur Erik | 2012-04-12
Vous devez vous connecter pour publier un commentaire.
Viens de faire un javascript
parseInt(63.00425720214844)
pour obtenir 63.Content que cela a fonctionné pour vous.
OriginalL'auteur Marc
La variable
s
ne contient pas une chaîne de caractères.Vous pouvez la transformer en une chaîne de caractères à l'aide de:
Si c'est un nombre, vous pouvez utiliser les fonctions numériques à la place:
Si c'est un nombre, vous pouvez également utiliser
s.toFixed(0)
.Plus simple dans quel sens? Parce que
parseInt
est deux personnages moins deMath.floor
...?Parce que c'est un seul mot 🙂
Math.floor
est très simple, trop bienEn fait
Math.floor(s)
est plus simple queparseInt(s.toString())
, qui est ce qu'il faut vraiment lire...OriginalL'auteur Guffa