Bonjour
dans un fichier je recupere une string avec des chiffres comme ci dessous
1.000000E+20
quelle fonction faut t'il faire pour convertir en integer ou en real
Merci pour votre aide encore
Bonjour
dans un fichier je recupere une string avec des chiffres comme ci dessous
1.000000E+20
quelle fonction faut t'il faire pour convertir en integer ou en real
Merci pour votre aide encore
est vous tapez str ..... sa vaut la peine
ESSAYE STRTOINT....
voila une autre piste http://c.developpez.com/faq/?page=strings
et si vous faite dans le vhdl bon chance
Bonjour
merci
mais javais deja essayer
je recupere ma string s:= '-1.000000E+20'
ensuite
je transforme
x defini en integer
x:=strtoint(s);
mais la il me renvoi 1
normal ou pas
merci
-1.000000E+20 , est ce que c'est un chiffe scientifique ...? est ce que il est issue d'une opération mathématique ou autres ? ou tout simplement un chiffre pour désigné un processus
Bonjour
un exemple ci dessous
jai l erreur pas une valeur entiere correcte
merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.Button1Click(Sender: TObject); var s:string; x:integer; begin decimalseparator:='.'; s:='-1.000000E+20' ; x:=strtoint(s); label1.Caption:=inttostr(x); end;
bonjour
le fichier est un fichier DXF
vois ci dessous
+++
$INSBASE
10
0.0
20
0.0
30
0.0
9
$EXTMIN
10
1.000000E+20
20
1.000000E+20
30
1.000000E+20
9
$EXTMAX
10
-1.000000E+20
20
-1.000000E+20
30
-1.000000E+20
9
$LIMMIN
donc -1.000000E+20 est une constante prédéfinie.
faut utiliser floattostr ou strtofloat pour des valeur avec des décimales.j'ai l erreur pas une valeur entière correcte
consult : ftp://ftp-developpez.com/deefaze/del...ion-format.pdf
Bonjour,
-1.000000E+20 c'est un grand nombre négatif : c'est -1 10 puissance 20 ou -1 avec 20 zéro derrière.
Si StrToInt donne -1 c'est que la fonction est faite pour les entier - elle ne lit que le début de la chaine
c'est donc une question de format - il faut choisir le format scientifique
Je pense qu'il faut utiliser la fonction :
Regarde l'aide pour FormatSettings
Code : Sélectionner tout - Visualiser dans une fenêtre à part StrToFloat(const S: string; const FormatSettings: TFormatSettings): Extended; overload;
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
bonjour
meme avec exemple de ce site j ai une erreur
http://www.delphibasics.co.uk/RTL.asp?Name=StrToFloat
comprend plus rien
jai Delphi 7 personnel sa peut etre sa ?
+++
Je pense que c'est à cause du séparateur décimal de cet exemple qui vient de l'anglais :
tu doit mettre :
avant l'appel à StrToFloat
Code : Sélectionner tout - Visualiser dans une fenêtre à part decimalseparator := '.' ;
ensuite tu peux remettre la virgule.
Charly
Mon site : http://lapaille.byethost24.com/index.htm
bonjour
sa marche si je change +20 par +19
pourquoi
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TForm1.Button1Click(Sender: TObject); var ex: extended; i:integer; begin decimalseparator:='.'; ex := StrToFloat('-1.000000E+19'); i:=round(ex); showmessage(inttostr(i)); end;
Ton nombre est trop grand pour être converti en entier
même avec le type Int64 tu ne peux pas dépasser 4,61 E+18 (environ)
Mon site : http://lapaille.byethost24.com/index.htm
Si tu veux de très grands nombres il faut que tu travaille en
Double : de -5.0 x 10^–324 à 1.7 x 10^308 (équivalent à Real)
ou en
Extended : de -3.6 x 10^–4951 à 1.1 x 10^4932
Mon site : http://lapaille.byethost24.com/index.htm
Bonjour
donc si je comprend bien je ne pourrais jamais
mettre cette valeur dans un integer
Merci vais trouver autre chose
Non pour la simple raison que ce n'est pas un entier mais un réel.
Pourquoi tu ne veux pas travailler avec le type double ?
Jette un oeil à cette discussion. Ca peut t'intéresser
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager