Variable c++

Résolu
amine69500 Messages postés 471 Statut Membre -  
amine69500 Messages postés 471 Statut Membre -
Bonjour,

voila j'ai créer une function en c++ avec une variable "toto" cette variable recoit comme valeur "3,4d" je souhaiterais transformer ce format "3,3d" en en 3d 0,3d avant la suite de poursuivre la function

Merci de votre aide

Cordialment

6 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Salut.
    Redemande nous ça en expliquant plus concrètement s'il te plait. Car là je ne comprends rien.
    1
  2. amine69500 Messages postés 471 Statut Membre 12
     
    ok et merci de votre attention

    voila j'ai creer une function avec une variable, la function recoit la valeur de la variable (7,3d) puis elle realise un calcul, mon but est de changer le format de la valeur (mettre 7d 0,3d) puis realiser le calcul

    Merci

    Cordialment
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      mets un bout de code. Je ne comprends pas tes histoires de 7,3d 3,3d etc. C'est quoi le type de la variable, etc.
      0
    2. amine69500 Messages postés 471 Statut Membre 12
       
      pour simplifier le probleme :j'ai une variable de type string "toto" maintenant je souhaite juste la multiplie par 30,
      exemple la variable recoit 2,3d comme valeur c'est un string,

      je le converti en int et je le multiplie par 30 et je le remet en string


      int i;
      LPCSTR totoCSTR;



      i = (totoCSTR) * 30) + "m";

      convertLPCSTRToStr(totoCSTR) = i;

      ce code ne marche il me dis erreur c'est impossible de convertir le string en int

      comment je pourrais faire

      merci de votre aide
      0
  3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    LPCSTR ? C'est quoi ce type ? Ce n'est pas standard.
    pour convertir des string en nombre et inversement, le plus propre est d'utiliser sstream.
    std::sstream ffs; 
    ffs.str(toto); 
    int i; 
    ffs>>i; 
    i*=30; 
    ffs.str(""); 
    ffs<<i; 
    toto=ffs.str();
    enfin, un truc dans le genre
    La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
    Char Snipeur
    0
  4. amine69500 Messages postés 471 Statut Membre 12
     
    merci de votre aide,

    LPCSTR est format string d'excel, car on injecte la valeur de la variable depuis excel

    donc c'est un type LPCSTR ensuite je le converti en strin avec "convertLPCSTRToStr"

    voila mon code :

    int a;
    int k;
    int j =450;
    string l;
    string m;
    convertLPCSTRToStr(totoCSTR);
    string totoCSTR;

    a = atoi(totoCSTR.c_str());
    k = a * j;
    char buffer [33];
    l = itoa (k,buffer,10);
    m = l + "m";

    voila mon code sans erreur apres avoir generer le code mais la valeur de a est tjrs null

    merci de votre aide

    cordialement
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      convertLPCSTRToStr(totoCSTR);
      string totoCSTR;
      je ne comprend pas copmment tu arrive à vaire la première action avant la deuxième.
      Il faudrait savoir ce que vaut toto. S'il est trop petit, c'est normal que a soit nul.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. amine69500 Messages postés 471 Statut Membre 12
     
    nn toto = 3 et j'arrive bien a convertir en string avant
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      tu arrives vraiment à compiler ça ? je ne comprends pas, ce n'est pas causal.
      Si tu as un problème, colle des affichages partout, voir à quel moment ça déconne exactement.
      0
  7. amine69500 Messages postés 471 Statut Membre 12
     
    merci encore de votre aide

    la solution est :

    float a;
    float k;
    int j =450;
    string l;
    string m;
    convertLPCSTRToStr(totoCSTR);
    std::string strIntString (totoCSTR);

    a = atof(strIntString.c_str());
    k = a * 450;
    char buffer [1000];
    l = itoa (k,buffer,10);
    m = l + "m";*

    et le resultat est une valeur avec la lettre m

    exemple : resultat = 33m

    ca passe comme une lettre a la poste :)

    cordialement
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      forcément, si tu veux du réel et pas de l'entier...fallait le dire.
      Comme ça, ça va mieux la déclaration du string.
      Pour être pointilleux, tu fait du C++ utilise sstream que je t'ai donnée. atof, itoa sont des fonctions C.
      0
    2. amine69500 Messages postés 471 Statut Membre 12
       
      Ok super merci pour le conseil, je tiens compte de la remarque

      Une autre question, tu sait faire du parsing json, j'ai un probleme avec ca je vais posté une question sur le parsing json

      merci de ton aide

      Cordialement
      0
    3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      non, dsl
      0
    4. amine69500 Messages postés 471 Statut Membre 12
       
      Ok et merci encore de ton attention pour mon probleme de conversion

      Bonne journée

      Cordialement
      0