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

Arduino Discussion :

Récupérer les valeurs dans string


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 19
    Par défaut Récupérer les valeurs dans string
    bonjour à tous

    Je voudrais diviser par 10 chaque valeur retourné de ce string sous arduino mais je n’arrive pas à les récupérer dans un tableau

    pourriez-vous m’aider


    Code : 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
     void setup()
      {
      Serial.begin(9600);
      while (!Serial) {;}
      }
     
      void loop()
      {
      String  stringOne  = "0 0.319131750, 1 0.319536470, 0 0.320013340, 1 0.320422550, 0 0.320806540, 1 0.321220170, 0 0.321632110,   ";
      String stringTwo = stringOne;
      stringTwo.replace("0 0.", "");
      stringTwo.replace("1 0.", "");
      Serial.println("string original: " + stringOne);
      Serial.println("string modifie: " + stringTwo);
     
       while (true);
      }

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "0 0.319131750, 1 0.319536470, 0 0.320013340, 1 0.320422550, 0 0.320806540, 1 0.321220170, 0 0.321632110,   ";
    à quoi sert le premier chiffre ?

    1. Tu divises ta chaine en plusieurs éléments en prenant la virgule comme séparateur (utilise substring et indexof).
    2. Tu convertis chaque nombre en entier (objet String)
    3. Tu divises par 10
    4. Tu convertis le nombre obtenu en String
    5. Tu rassembles les morceaux : fonction concat

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 19
    Par défaut
    bonjour
    les premier chiffres 0 0. ou 1 0. ne servent à rien c'est pour ça que je les retir

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    un code vite fait...

    Code c : 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
     
      String s = "12345, 6789, 101112"; // exemple
      int n;
      double nb;
      String subs, newStr="";
     
      // on récupère la 1ère chaine
      n = s.indexOf(",");
      subs = s.substring(0, n);
      subs.trim(); 
     
      // conversion en flottant
      nb = subs.toFloat();
      nb = nb / 10;
     
      // ajout du résutat dans une nouvelle chaine
      newStr.concat(String(nb));
      newStr.concat(","); // séparateur

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 19
    Par défaut
    merci mais ca marche pas erreur de compile


    Arduino : 1.6.0 (Mac OS X), Carte : "Arduino Uno"

    string.ino:7:3: error: 'n' does not name a type
    string.ino:8:3: error: 'subs' does not name a type
    string.ino:9:3: error: 'subs' does not name a type
    string.ino:12:3: error: 'nb' does not name a type
    string.ino:13:3: error: 'nb' does not name a type
    string.ino:16:3: error: 'newStr' does not name a type
    string.ino:17:3: error: 'newStr' does not name a type
    Erreur lors de la compilation.

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    on peut voir le code complet ?

Discussions similaires

  1. Réponses: 21
    Dernier message: 18/11/2008, 14h36
  2. Récupérer les valeurs dans une PropertyInfo
    Par Psycadi dans le forum C#
    Réponses: 2
    Dernier message: 13/06/2008, 12h17
  3. Problème récupérer les valeurs dans une Hash
    Par pymouse dans le forum Langage
    Réponses: 4
    Dernier message: 12/07/2007, 17h11
  4. récupérer les valeurs dans recordset
    Par aba_tarn dans le forum VBA Access
    Réponses: 8
    Dernier message: 20/06/2007, 18h49
  5. Récupérer les valeurs dans une fonction
    Par matmay dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/05/2007, 16h50

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