Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
dhar
Étonnant... La doc de Mozilla dis le contraire : https://developer.mozilla.org/en/JavaS cript/Reference/Global_Objects/parseInt Et après un test rapide sur Firefox et Chrome, ça semble fonctionner: h ttp://jsbin.com/acobax/edit#javascript
Étonnant...
La doc de Mozilla dis le contraire : https://developer.mozilla.org/en/JavaS cript/Reference/Global_Objects/parseInt
Et après un test rapide sur Firefox et Chrome, ça semble fonctionner: h ttp://jsbin.com/acobax/edit#javascript
Étonnant... La doc de Mozilla dis le contraire : https://developer.mozilla.org/en/JavaS cript/Reference/Global_Objects/parseInt Et après un test rapide sur Firefox et Chrome, ça semble fonctionner: h ttp://jsbin.com/acobax/edit#javascript
je viens de découvrir que parseInt(s, 10); retourne NaN quand s = " + 3"; càd quand il y a un ou des blanc(s) entre le "+" et le premier chiffre...
+3 ne me semble pas etre un chiffre, 3 ou -3, oui
Repondu sans testé,
A+ Bol
unbewusst.sein
Bol wrote:
+3 ne me semble pas etre un chiffre, 3 ou -3, oui
avec la string "+3" c'est bon avec parseInt, tout comme " +3" ou " +3 ", MAIS PAS " + 3"... -- « L'essence même du génie, c'est de mettre en pratique les idées les plus simples. » (Charles Peguy)
Bol <Bol@wanadoo.fr> wrote:
+3 ne me semble pas etre un chiffre, 3 ou -3, oui
avec la string "+3" c'est bon avec parseInt,
tout comme " +3" ou " +3 ",
MAIS PAS " + 3"...
--
« L'essence même du génie, c'est de mettre en pratique
les idées les plus simples. »
(Charles Peguy)
avec la string "+3" c'est bon avec parseInt, tout comme " +3" ou " +3 ", MAIS PAS " + 3"... -- « L'essence même du génie, c'est de mettre en pratique les idées les plus simples. » (Charles Peguy)
Pascal Poncet
Le 03/10/2011 10:20, Une Bévue a écrit :
avec la string "+3" c'est bon avec parseInt, tout comme " +3" ou " +3 ", MAIS PAS " + 3"...
Rien ne dit non plus que ça DOIT fonctionner selon ce que tu attendais.
ECMAScript dit que l'analyse de la chaîne passée se fait de gauche à droite, que les premiers espaces sont ignorés, qu'il est tenu compte du signe + ou - si c'est le premier caractère rencontré et que l'analyse s'arrête au premier caractère suivant qui n'est pas un chiffre de la base spécifiée.
Dans ton cas, les espaces de début sont bien ignorés, le signe + est mémorisé et le premier caractère suivant étant un espace, donc pas un chiffre valide de la base décimale, il renvoie NaN.
Par contre, la chaîne " +3 euros", produira bien la valeur entière 3 après analyse, ce qui est attendu. Tu noteras que l'analyse de "- 3 euros" produit également NaN !
-- Cordialement, Pascal
Le 03/10/2011 10:20, Une Bévue a écrit :
avec la string "+3" c'est bon avec parseInt,
tout comme " +3" ou " +3 ",
MAIS PAS " + 3"...
Rien ne dit non plus que ça DOIT fonctionner selon ce que tu attendais.
ECMAScript dit que l'analyse de la chaîne passée se fait de gauche à
droite, que les premiers espaces sont ignorés, qu'il est tenu compte du
signe + ou - si c'est le premier caractère rencontré et que l'analyse
s'arrête au premier caractère suivant qui n'est pas un chiffre de la
base spécifiée.
Dans ton cas, les espaces de début sont bien ignorés, le signe + est
mémorisé et le premier caractère suivant étant un espace, donc pas un
chiffre valide de la base décimale, il renvoie NaN.
Par contre, la chaîne " +3 euros", produira bien la valeur entière 3
après analyse, ce qui est attendu.
Tu noteras que l'analyse de "- 3 euros" produit également NaN !
avec la string "+3" c'est bon avec parseInt, tout comme " +3" ou " +3 ", MAIS PAS " + 3"...
Rien ne dit non plus que ça DOIT fonctionner selon ce que tu attendais.
ECMAScript dit que l'analyse de la chaîne passée se fait de gauche à droite, que les premiers espaces sont ignorés, qu'il est tenu compte du signe + ou - si c'est le premier caractère rencontré et que l'analyse s'arrête au premier caractère suivant qui n'est pas un chiffre de la base spécifiée.
Dans ton cas, les espaces de début sont bien ignorés, le signe + est mémorisé et le premier caractère suivant étant un espace, donc pas un chiffre valide de la base décimale, il renvoie NaN.
Par contre, la chaîne " +3 euros", produira bien la valeur entière 3 après analyse, ce qui est attendu. Tu noteras que l'analyse de "- 3 euros" produit également NaN !
-- Cordialement, Pascal
Olivier Miakinen
Bonjour,
Le 03/10/2011 11:20, Pascal Poncet répondait à Une Bévue :
avec la string "+3" c'est bon avec parseInt, tout comme " +3" ou " +3 ", MAIS PAS " + 3"...
Rien ne dit non plus que ça DOIT fonctionner selon ce que tu attendais.
ECMAScript dit que l'analyse de la chaîne passée se fait de gauche à droite, que les premiers espaces sont ignorés, qu'il est tenu compte du signe + ou - si c'est le premier caractère rencontré et que l'analyse s'arrête au premier caractère suivant qui n'est pas un chiffre de la base spécifiée.
Dans ton cas, les espaces de début sont bien ignorés, le signe + est mémorisé et le premier caractère suivant étant un espace, donc pas un chiffre valide de la base décimale, il renvoie NaN.
Voilà, exactement. Je n'aurais pas mieux dit.
Par contre, la chaîne " +3 euros", produira bien la valeur entière 3 après analyse, ce qui est attendu. Tu noteras que l'analyse de "- 3 euros" produit également NaN !
De la même façon, la chaîne "65 536" produira 65 et non pas 65536.
Cordialement, -- Olivier Miakinen
Bonjour,
Le 03/10/2011 11:20, Pascal Poncet répondait à Une Bévue :
avec la string "+3" c'est bon avec parseInt,
tout comme " +3" ou " +3 ",
MAIS PAS " + 3"...
Rien ne dit non plus que ça DOIT fonctionner selon ce que tu attendais.
ECMAScript dit que l'analyse de la chaîne passée se fait de gauche à
droite, que les premiers espaces sont ignorés, qu'il est tenu compte du
signe + ou - si c'est le premier caractère rencontré et que l'analyse
s'arrête au premier caractère suivant qui n'est pas un chiffre de la
base spécifiée.
Dans ton cas, les espaces de début sont bien ignorés, le signe + est
mémorisé et le premier caractère suivant étant un espace, donc pas un
chiffre valide de la base décimale, il renvoie NaN.
Voilà, exactement. Je n'aurais pas mieux dit.
Par contre, la chaîne " +3 euros", produira bien la valeur entière 3
après analyse, ce qui est attendu.
Tu noteras que l'analyse de "- 3 euros" produit également NaN !
De la même façon, la chaîne "65 536" produira 65 et non pas 65536.
Le 03/10/2011 11:20, Pascal Poncet répondait à Une Bévue :
avec la string "+3" c'est bon avec parseInt, tout comme " +3" ou " +3 ", MAIS PAS " + 3"...
Rien ne dit non plus que ça DOIT fonctionner selon ce que tu attendais.
ECMAScript dit que l'analyse de la chaîne passée se fait de gauche à droite, que les premiers espaces sont ignorés, qu'il est tenu compte du signe + ou - si c'est le premier caractère rencontré et que l'analyse s'arrête au premier caractère suivant qui n'est pas un chiffre de la base spécifiée.
Dans ton cas, les espaces de début sont bien ignorés, le signe + est mémorisé et le premier caractère suivant étant un espace, donc pas un chiffre valide de la base décimale, il renvoie NaN.
Voilà, exactement. Je n'aurais pas mieux dit.
Par contre, la chaîne " +3 euros", produira bien la valeur entière 3 après analyse, ce qui est attendu. Tu noteras que l'analyse de "- 3 euros" produit également NaN !
De la même façon, la chaîne "65 536" produira 65 et non pas 65536.
Cordialement, -- Olivier Miakinen
unbewusst.sein
Pascal Poncet wrote:
Rien ne dit non plus que ça DOIT fonctionner selon ce que tu attendais.
je n'ai pas dit le contraire, hein, c'est juste une convention, il vaut mieux le savoir, c'est tout.
-- « L'essence même du génie, c'est de mettre en pratique les idées les plus simples. » (Charles Peguy)