Variable c++

Résolu/Fermé
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 - Modifié par amine69500 le 11/10/2012 à 12:00
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 - 12 oct. 2012 à 16:11
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

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
11 oct. 2012 à 12:06
Salut.
Redemande nous ça en expliquant plus concrètement s'il te plait. Car là je ne comprends rien.
1
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
11 oct. 2012 à 14:09
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
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
11 oct. 2012 à 14:47
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
11 oct. 2012 à 15:16
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
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
Modifié par Char Snipeur le 11/10/2012 à 16:48
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
Modifié par amine69500 le 11/10/2012 à 21:49
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
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
12 oct. 2012 à 08:43
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
12 oct. 2012 à 09:11
nn toto = 3 et j'arrive bien a convertir en string avant
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
12 oct. 2012 à 12:33
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
12 oct. 2012 à 15:57
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
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
12 oct. 2012 à 16:03
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
12 oct. 2012 à 16:06
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
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
12 oct. 2012 à 16:08
non, dsl
0
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
12 oct. 2012 à 16:11
Ok et merci encore de ton attention pour mon probleme de conversion

Bonne journée

Cordialement
0