IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Conversion d'une chaine de caractères en nombre


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Conversion d'une chaine de caractères en nombre
    Bonjour,

    je cherche à convertir une chaine de caractère : "10+2+6+8-9" en un nombre pour en connaitre la valeur mais je bloque dessus. N'existe-t-il pas une commande permettant de convertir une chaine contenant un calcule en entier ?

    j'ai déjà essayer Number, parseInt, parseFloat mais rien ne fonctionne ou au mieux me renvoi simplement le premier nombre de la chaine.

    voici mon exemple:

    var maChaine = "97+1+1+1";
    var monNombre = Number(maChaine);

    quand je demande le type de monNombre, javascript renvoi bien le type Number mais il affiche 97 et pas 100

    merci à la personne qui pourra m'aider.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    La solution au pied de biche ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var maChaine = "97+1+1+1";
    var monNombre = Eval(maChaine);
    Eval is evil ...

    Après tu peux parser la chaine pour récupérer d'un coté les nombres et de l'autre les opérateurs
    par exemple avec un split sur /\d+/ qui te retournera un array des opérateurs
    puis à l'inverse un split su /\D/ qui te retournera un array des nombres ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Points : 6
    Points
    6
    Par défaut fonctionne très bien mais pas de majuscule à Eval()
    merci, je connaissais pas eval()

    j'ai vraiment cru que rien ne permettait en javascript de faire cette opération.

    Merci à toi

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Pas très fluide mais sans eval;

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const chaine = "97+1+1+1";
    console.log(chaine.split("+").map(n => Number(n)).reduce((a,b) => a+b);

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    JT a condition que ce soit toujours du + ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    oui oui, je ne faisais que m'adapter à la demande
    Sinon, /\D/;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion d'une chaine de caractére en entier
    Par moooona dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 30/05/2008, 09h41
  2. Conversion d'une chaine de caractères en unsigned long
    Par radouane_as dans le forum Débuter
    Réponses: 2
    Dernier message: 15/08/2007, 19h21
  3. [Système] Conversion d'une chaine de caractère en hexa
    Par Florent08800 dans le forum Langage
    Réponses: 5
    Dernier message: 10/07/2006, 15h32
  4. conversion d'une chaine de caractère en int
    Par greg13 dans le forum C++
    Réponses: 3
    Dernier message: 25/08/2005, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo