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 dans une String


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2003
    Messages : 37
    Par défaut Calcul dans une String
    Bonjour,
    J'ai une variable du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    100 brebis galeuse. 5 moutons oranges. 3 vaches bleues.
    Je dois faire un calcul identique pour tous les chiffres. Quel est le meilleur moyen? Dois je décomposer dans un premier temps la variable ?
    Mon résultats dois être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    800 brebis galeuse. 40 moutons oranges. 24 vaches bleues.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    Dois je décomposer dans un premier temps la variable ?
    Exactement, c'est la première chose à faire avant tout calcul.

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <html lang="fr"> <!-- BaseModel.html -->
    	<head>
    		<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    		<title>Ici mon titre</title>
     
    		<style>
                            /* TAGs comentaire dans la partie style */
                    </style>
     
    		<script>
                            'use strict'; // force la déclaration des variables
                            function Calcul(quoi,multiplicateur) {
                                    let LeStr = quoi;
                                    const multi = multiplicateur;
                                    let LesStrt = LeStr.split(" ");
                                    LeStr = "";
                                    for (let i = 0; i< LesStrt.length; i++) {
                                            if (isNaN(LesStrt[i])){
                                                    LeStr  += LesStrt[i]+ " ";
                                                    }else{
                                                    LeStr += Number(LesStrt[i] * multi) + " ";
                                            }
                                    }
                                    document.getElementById("visualise").innerHTML = LeStr;
                            }//----------------------fin de la function model -----------------------------------
                            
                    </script>
    	</head>
    	<body>
    		<button onclick='Calcul("100 brebis galeuse. 5 moutons oranges. 3 vaches bleues.",8);'>Go exemple 1</button>
    		<button onclick='Calcul("10 tortues. 9 Lapins. 7 poissons pas rouges.", 16);'>Go exemple 2</button>
    		<div id="visualise"></div>
     
    	</body>
    </html>
    Il y a sûrement mieux.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ah oui diviser avec l’espace comme séparateur et tester à chaque fois si on a un nombre ou pas me parait bien...

    Après si la string est toujours régulière j'avais pensé diviser par avec le point, ensuite diviser chaque résultat par l'espace et alors le premier élément de chaque résultat contient le chiffre à multiplier...

  5. #5
    Invité
    Invité(e)
    Par défaut
    bj,

    un peu plus concis : )
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var s = '100 brebis galeuse. 5 moutons oranges. 3 vaches bleues.'
    console.log(s.replace(/\d+/g, el=>el*8))
    output:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    800 brebis galeuse. 40 moutons oranges. 24 vaches bleues.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ah oui bien vu !

  7. #7
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Erreur dans le message.

  8. #8
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Chez moi la réponse de galerien69 donne le bon résultat.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ben j'ai testé ici : https://jsbin.com/hovolucejo/edit?js,console
    et on obtient : "800 brebis galeuse. 40 moutons oranges. 24 vaches bleues."

  10. #10
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2003
    Messages : 37
    Par défaut
    Citation Envoyé par galerien69 Voir le message
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var s = '100 brebis galeuse. 5 moutons oranges. 3 vaches bleues.'
    console.log(s.replace(/\d+/g, el=>el*8))
    Merci bcp
    J'étais bien parti sur du replace.
    Solution rapide qui fonctionne très bien, est ce que j'ai la possibilité de ne pas prendre en compte la valeur 1. Si >= 2 on remplace.

  11. #11
    Invité
    Invité(e)
    Par défaut
    hi Makinator,

    même chose (t'aurais pu t'en sortir tu as décrit la règle toi même)
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var s = '1 brebis galeuse. 5 moutons oranges. 3 vaches bleues.'
    console.log(s.replace(/\d+/g, el=>el>1?el*8:el))

    output
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1 brebis galeuse. 40 moutons oranges. 24 vaches bleues.

Discussions similaires

  1. mettre un entier dans une string
    Par kinder29 dans le forum SL & STL
    Réponses: 14
    Dernier message: 14/02/2005, 11h54
  2. Recuperer un champ calculé dans une variable....
    Par vijeo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/12/2004, 14h57
  3. [DOM] sauver dans une String
    Par hocinema dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 28/09/2004, 21h44
  4. calcul dans une requête
    Par blaz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/12/2003, 10h31
  5. [Syntaxe] mettre des ' dans une string ?
    Par souch dans le forum Débuter
    Réponses: 4
    Dernier message: 14/08/2003, 16h26

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