2 votes

C'est moi ou je ne peux pas les résumer ?

Bonjour / Après-midi / Soirée :).

J'ai deux entiers que je veux transformer en flottants, avec 4 nombres décimaux pour les utiliser sur des coordonnées GPS :

var z = y.toFixed(4);
var p = x.toFixed(4);

Mais il y a une situation qui me chiffonne, c'est la somme entre ces 'z' et 'p' :

var t = z + p;

Après cette instruction, je veux imprimer le résultat sur l'écran avec quelques fonctions communes comme :

document.write(z);  document.write("<br />");
document.write(t);
document.write("<br />");   
document.write("<br />");

Le résultat que j'obtiens est :

0.0000
0.0000300.0000

1.0000
1.0000300.0000

2.0000
2.0000300.0000

Mais ce que je veux vraiment c'est :

300.0000
301.0000
302.0000

Comment pourrais-je additionner 'z' et 'p', après tout ? :S

Question de débutant, je sais :S.

Bien à vous, Sam

6voto

Jack Points 88446

C'est parce que .toFixed() renvoie un String plutôt qu'un objet Number donc le + réalise la concaténation.

Au lieu de cela, vous devriez d'abord effectuer l'addition des nombres réels et puis effectuer .toFixed() pour "arrondir" le résultat pour l'affichage.

var t = (x + y).toFixed(4);
document.write(t);

3voto

pktangyue Points 4639

Je pense que ce que vous voulez c'est :

var t = x + y;
var p = t.toFixed(4);
document.write(p);

2voto

bipen Points 21912

Essayez ceci

var t = (x + y).toFixed(4);

tripoter ici

1voto

Howard Points 23487

La méthode JavaScript toFixed convertit votre nombre en une chaîne de caractères. Ainsi, lorsque vous effectuez l'opération z + p il s'agit en fait d'une concanténation de chaînes de caractères et non d'une addition de chiffres. Vous pouvez d'abord additionner vos nombres et ensuite appliquer toFixed .

1voto

Uooo Points 2824

toFixed() renvoie une chaîne de caractères, ce qui signifie que vous concaterez des chaînes de caractères lorsque vous utiliserez la fonction var t = z + p . Vous devez d'abord additionner vos coordonnées et ensuite appeler toFixed() .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X