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 :

Calcul avec variable


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    DevJunior
    Inscrit en
    Août 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : DevJunior
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2018
    Messages : 16
    Par défaut Calcul avec variable
    Bonjour,
    Je me permet de créer un topic car j'aurais besoin d'un renseignement.

    J'essaye de faire un calcul avec une variable, pour faire simple, voici un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var nbr1 = 2, nbr2 = 5, operator = '+';
    console.log(nbr1 + operator + nbr2);
    Ce code me renvoie 2 + 5, et je n'arrive pas à faire en sorte que le + soit compris comme un opérateur, j'ai essayé des parseInt/Float, Number etc rien ne fonctionne, soit j'obtiens 2 + 5, soit j'obtiens NaN.

    Et j'ai besoin d'utiliser une variable car operator peut contenir +, -, *, %...

    Et je n'ai pas envie de faire quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(operator === '+') {
      console.log(nbr1 + nbr2);
    }
    Car il y aurait beaucoup trop de condition, je veux faire le plus efficace possible.

    Merci de votre aide.

  2. #2
    Membre actif Avatar de dbroqua
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2013
    Messages : 14
    Par défaut
    Salut,

    eval() est la solution à ton problème (attention aux soucis de sécu que ça implique) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    const nbr1 = 2, nbr2 = 5, operator = '+';
    let result = eval(nbr1 + operator + nbr2);
    console.log(result);

  3. #3
    Membre averti
    Homme Profil pro
    DevJunior
    Inscrit en
    Août 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : DevJunior
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2018
    Messages : 16
    Par défaut Merci
    Merci, c'est exactement ce que je cherchais!
    Je vais me renseigner la dessus, ++

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

Discussions similaires

  1. Réaliser un calcul avec variable
    Par remi2305 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 12/03/2015, 10h16
  2. [2.x] [twig] Déclaration et calcul avec variables
    Par jejeman dans le forum Symfony
    Réponses: 3
    Dernier message: 30/01/2014, 12h27
  3. Réponses: 49
    Dernier message: 21/12/2012, 13h13
  4. [CR XI] Calcul avec variable partagée
    Par sat478 dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 18/09/2010, 16h14
  5. Formule de calcul avec variable ?
    Par clarisse dans le forum Excel
    Réponses: 5
    Dernier message: 19/09/2007, 14h27

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