formatage nombre 2 568,75 en 2568.75

Le
Julie David
bonjour tt le monde

j'ai un champ qui contient un nombre.
ce nombre a été formaté en vbscript par formatnumber(nombre, 2)

comme séparer l'espace pour que nombre soit reconnu en javascript

exemple

mon champs contient le nombre suivant : 2 568,75 que je veux convertir en
2568.75 pour qu'il soit exploitable en javascript

que faire?

j'ai essayé :

mynombre = document.myform.nombre.value

temp = parseInt(mynombre)

mais j'ai tjs une erreur

j'ai essayé aussi replace mais rien ne fonctionne que faire?



Merci

julie
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
O.L.
Le #534677
Julie David a exprimé avec précision :
bonjour tt le monde

j'ai un champ qui contient un nombre.
ce nombre a été formaté en vbscript par formatnumber(nombre, 2)

comme séparer l'espace pour que nombre soit reconnu en javascript

exemple

mon champs contient le nombre suivant : 2 568,75 que je veux convertir en
2568.75 pour qu'il soit exploitable en javascript

que faire?

j'ai essayé :

mynombre = document.myform.nombre.value

temp = parseInt(mynombre)

mais j'ai tjs une erreur

j'ai essayé aussi replace mais rien ne fonctionne que faire?


var str = "2 568,75";
str = str.replace(/ /, ''); //supprime l'espace
str = str.replace(",", '.'); //remplace la virgule par un point
alert(str);

Ca marche ! :)

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

YD
Le #534676
Julie David a exprimé avec précision :
j'ai un champ qui contient un nombre.
ce nombre a été formaté en vbscript par formatnumber(nombre, 2)
comme séparer l'espace pour que nombre soit reconnu en javascript


var str = "2 568,75";
str = str.replace(/ /, ''); //supprime l'espace
str = str.replace(",", '.'); //remplace la virgule par un point
alert(str);

Ca marche ! :)


Non !
Essaie avec 1 234 567,890. Tu verras qu'il manque quelque chose...

--
Y.D.


Christophe PEREZ
Le #534675
Le Wed, 05 Oct 2005 18:56:21 +0200, YD a écrit:

Essaie avec 1 234 567,890. Tu verras qu'il manque quelque chose...


Un 'g' ?

--
Christophe PEREZ
Écrivez moi sans _faute !

YD
Le #534674
Le Wed, 05 Oct 2005 18:56:21 +0200, YD a écrit:


Essaie avec 1 234 567,890. Tu verras qu'il manque quelque chose...



Un 'g' ?


Bingo! That's the point!

--
Y.D.


O.L.
Le #534673
Le Wed, 05 Oct 2005 18:56:21 +0200, YD a écrit:


Essaie avec 1 234 567,890. Tu verras qu'il manque quelque chose...



Un 'g' ?


Bingo! That's the point!


Effectivement :)

Mais Mrs. Julie nous disais :

"Exemple : Mon champ contient le nombre suivant : 2 568,75 que je veux
convertir en 2568.75 pour qu'il soit exploitable en javascript"

Donc ma solution marche ... pour l'exemple qu'elle a donné ! :-p

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net



YD
Le #534672
Mais Mrs. Julie nous disais :

"Exemple : Mon champ contient le nombre suivant : 2 568,75 que je veux
convertir en 2568.75 pour qu'il soit exploitable en javascript"

Donc ma solution marche ... pour l'exemple qu'elle a donné ! :-p


Ah ! Les limitations, le particulier, le général... 8-)

Enfin si Julie David a posé la question ici, je doute qu'elle sache
quoi faire du g, aussi récapitulé-je, en condensant :

function vbNum2jsNum(s){
return +s.replace(/ /g,'').replace(',','.');
}
alert(vbNum2jsNum("1 235 89,7 123,4561"));

La fonction renvoie soit une valeur numérique si la chaîne entrée
correspond à une écriture d'un nombre avec des espaces et au plus
une virgule, sinon elle renvoie la valeur NaN (Not a Number).

--
Y.D.

O.L.
Le #534404
YD vient de nous annoncer :
return +s.replace(/ /g,'').replace(',','.');


Tiens, je ne connaissais pas ... C'est le + de devant qui transforme la
chaine en nombre ?

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Julie David
Le #534403
merci à tous je fais un test et vous tiens informé

Julie D

"O.L."
YD vient de nous annoncer :
return +s.replace(/ /g,'').replace(',','.');


Tiens, je ne connaissais pas ... C'est le + de devant qui transforme la
chaine en nombre ?

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net




Christophe PEREZ
Le #534402
Le Thu, 06 Oct 2005 09:15:38 +0200, O.L a écrit:

Tiens, je ne connaissais pas ... C'est le + de devant qui transforme la
chaine en nombre ?


Je me suis fait exactement la même réflexion.
C'est ce qu'il y a de bien avec YD, l'air de rien, comme ça, à chacun de
ses posts on apprend quelque chose ;-)

--
Christophe PEREZ
Écrivez moi sans _faute !

YD
Le #534401
Le Thu, 06 Oct 2005 09:15:38 +0200, O.L a écrit:


Tiens, je ne connaissais pas ... C'est le + de devant qui transforme la
chaine en nombre ?
Je me suis fait exactement la même réflexion.



Tout à fait, le + est un fichu opérateur en javascript :
- unaire : il transforme son argument en nombre (ou NaN si c'est impossible)
- binaire : il effectue l'addition si ses deux arguments sont numériques
ou la concaténation si une des valeurs est une chaîne.

C'est ce qu'il y a de bien avec YD, l'air de rien, comme ça, à chacun de
ses posts on apprend quelque chose ;-)


C'est le but du newsgroup, partager ses connaissances ! J'ai beaucoup appris
ainsi, particulièrement en suivant de temps à autre comp.lang.javascript (en
anglais). Le ng n'est pas un service d'écriture de script à la demande,
d'ailleurs j'évite soigneusement de répondre quand je flaire cette attente,
d'autant qu'on a rarement un remerciement dans ce cas ou, s'il y en a un, c'est
souvent qu'il précède une demande d'adaptation à ce besoin-ci et ce besoin-là...
Ceci étant, je ne vais bientôt plus avoir grand chose à vous apprendre, assidus
comme vous êtes ;-)

--
Y.D.


Publicité
Poster une réponse
Anonyme