Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1445 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  stringstream conversion en int 5e+006 => 5

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

stringstream conversion en int 5e+006 => 5

n°1951037
Glock 17Pr​o
Posté le 17-12-2009 à 00:10:25  profilanswer
 

salut,
 
 
je souhaiterais convertir une string en int , la string à ce format 5e+006
quand je la passe à stringstream et que je la stock dans un int en sortie mon int vaut 5.
 
il faut utilise setf ?
 
quelle est la bonne façon de faire ?
 
merci.


---------------
.
mood
Publicité
Posté le 17-12-2009 à 00:10:25  profilanswer
 

n°1951041
Glock 17Pr​o
Posté le 17-12-2009 à 00:31:16  profilanswer
 

obliger de passer par un double ?


---------------
.
n°1951149
Elmoricq
Modérateur
Posté le 17-12-2009 à 12:07:45  profilanswer
 

C'est ce qu'il semble, les flags de formatage de nombre ne semblant s'appliquer que sur les flottants.

n°1951180
Taz
bisounours-codeur
Posté le 17-12-2009 à 14:13:04  profilanswer
 

Mais 5e+006 c'est un double donc oui t'es obligé.

n°1951352
Glock 17Pr​o
Posté le 17-12-2009 à 22:32:56  profilanswer
 

thanks
 
EDIT, pourtant :
 
int var = 5e+006; //var = 500K
int var = static_cast<int>(5e+006); //var = 500K


Message édité par Glock 17Pro le 18-12-2009 à 20:38:06

---------------
.
n°1952121
Glock 17Pr​o
Posté le 21-12-2009 à 16:21:33  profilanswer
 

...


---------------
.
n°1952134
GrosBocdel
Posté le 21-12-2009 à 17:18:35  profilanswer
 

Si pour toi 5e6=500K, pourquoi ne pas arrondir à 5 tout court...
 
 :)

n°1952140
ptitchep
Posté le 21-12-2009 à 17:28:54  profilanswer
 

Taz a écrit :

Mais 5e+006 c'est un double donc oui t'es obligé.


Pourquoi ce serait un double?


---------------
deluser --remove-home ptitchep
n°1952257
__tomjost
c'est un pseudo !
Posté le 21-12-2009 à 23:57:05  profilanswer
 

:)
 
les EXp , e+ out e- font parti du syntax des floats (float, double, long double ...)
j'ai utiliser ca quelqfois  mais pour n < 0 (pour ganger lespace du stockage )...
 
 
Pour Glock 17Pro
stringstream ? ( encore un autre stream )
 
tu ne peut pas sauter de ce type de string  au int  : jamais fait avant :ouch:  
(si tu veut ajoute une method avec le stringstream , ou au global scope)
 
Convert comme ca:
string -> float ou double
float double -> int        (int combien de bit !)
 
 

n°1952263
__tomjost
c'est un pseudo !
Posté le 22-12-2009 à 00:39:35  profilanswer
 

:ouch: pardon!! ; la haut ; je veux dire 0 <= n <=1  
et non n < 0 .....

mood
Publicité
Posté le 22-12-2009 à 00:39:35  profilanswer
 

n°1952363
ptitchep
Posté le 22-12-2009 à 12:46:38  profilanswer
 

C'est dommage je trouve de ne pas pouvoir écrire un entier sous cette forme...


---------------
deluser --remove-home ptitchep
n°1952423
Taz
bisounours-codeur
Posté le 22-12-2009 à 15:06:47  profilanswer
 

ptitchep a écrit :

C'est dommage je trouve de ne pas pouvoir écrire un entier sous cette forme...


Nan mais réfléchi 2s pourquoi ça n'est pas adapté ...

n°1952489
ptitchep
Posté le 22-12-2009 à 17:22:50  profilanswer
 

ben désolé mais même 5.2356e+006 est un entier... Dès fois, cela ferait du bien dans certains fichier de conf... Evidemment c'est source de problèmes avec genre 5.23e+1 mais avec une bonne gestion des erreurs ce n'est pas possible? Ou tout simplement en tronquant.
Explique moi.


---------------
deluser --remove-home ptitchep
n°1952611
__tomjost
c'est un pseudo !
Posté le 22-12-2009 à 23:12:32  profilanswer
 

Nan mais réfléchi 2s pourquoi ça n'est pas adapté...
 
 :)  
Peut etre c'est adapter dans quelque version  
de lib ou autre language , (ou faite votre function)
 
je vient de tester ca en VB (vbasic) ,  
TypeName (5e+8) , elle se auto-transforme ,
quand en l'ecrit , en
TypeName (500000000#) , et # pour marquer le type double
 
pour c++ , 90% la function qui va convertir vers int
va stopper quand elle rencontre le 'e' apres le 5 (il n'est pas numeric)
 :(  
--> c'est comme ca , mais tu peut faire ta function


Message édité par __tomjost le 22-12-2009 à 23:44:04
n°1952655
Joel F
Real men use unique_ptr
Posté le 23-12-2009 à 09:01:46  profilanswer
 

ptitchep a écrit :

ben désolé mais même 5.2356e+006 est un entier... Dès fois, cela ferait du bien dans certains fichier de conf... Evidemment c'est source de problèmes avec genre 5.23e+1 mais avec une bonne gestion des erreurs ce n'est pas possible? Ou tout simplement en tronquant.


 
que fais tu des trucs genres : 1e-x ou bien 1e+146 ?
 

n°1952663
ptitchep
Posté le 23-12-2009 à 09:41:35  profilanswer
 

ptitchep a écrit :

mais avec une bonne gestion des erreurs ce n'est pas possible?



---------------
deluser --remove-home ptitchep

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  stringstream conversion en int 5e+006 => 5

 

Sujets relatifs
[C++] Conversion Unicode à ASCII sous linuxConversion string en entier
[C] conversionconversion binaire -> decimal
[Résolut]Conversion d'un base 10 en base 16Conversion d'un nombre hexa en float
Conversion JPEG -> BMP en C++lecture/écriture fichier texte et conversion en données numériques
[Visual C++] Problème conversion System::String ^ et structureouvrir un fichier avec pour nom un stringstream
Plus de sujets relatifs à : stringstream conversion en int 5e+006 => 5


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR