begin process at 2012 02 10 21:33:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Transformer un nombre décimal et l'arrondir à 2 chiffres après la virgule


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Transformer un nombre décimal et l'arrondir à 2 chiffres après la virgule

jeudi 6 mai 2004 à 09:13:57 | Transformer un nombre décimal et l'arrondir à 2 chiffres après la virgule

Rowan

Bonjour à tous et à toutes.

Un grand merci à DELPHIPROG qui a bien répondu à mon problème de chaine de carractère.
Cependant, je n'arrive toujours à faire ce que je veux!
J'explique : J'ai des nombres décimaux que j'extrais d'une table, ex : 1,5698563 ce nombre comporte une virgule.
C'est pour cela que je voulais transformer la virgule en point pour pouvoir utiliser la fonction Formatfloat, du type :
formatfloat ('0.00' , 1.5698563) et obtenir en sortie 1.57
c'est à dire la valeur arrondie à 2 chiffres après la virgule.
La chaine de carractère reçue de type String est alors transtypée comme suit :

Ma procédure.......
var
toto : string;
titi : Double;
Resultat : String;

begin
// chaine reçue après transformation de virgule en point.
// par ex : toto :=1.5698563;
titi:=0;
titi:=StrToFlaot(toto);
Resultat:=FormatFloat('0.00' , titi); // Message d'erreur ICI !
end;

Lorsque je compile j'ai le message d'erreur suivant : type String et Extended non compatible.... Pourtant il faut bien passer en paramètre un réel dans le second paramètre de la fonction Formatfloat ?

Y a t-il une autre Méthode que Formatfloat ?
Peut-on avec un nombre décimal sous la forme 1,5698563 l'arrondir directement sous la forme 1,57 ?

Si quelqu'un a la solution à ce problème, je vous remercie par avance, car je suis bloqué dans l'application que j'essais de développer.

ROWAN : microcom@netcourrier.com
jeudi 6 mai 2004 à 13:48:56 | Re : Transformer un nombre décimal et l'arrondir à 2 chiffres après la virgule

Kenavo

Salut

Ben, à part "StrToFlaot' à la ligne du dessus c'est correct !
Tu peux aussi utiliser la fonction FloatToStrF :
Resultat := FloatToStrF(titi,ffFixed,15,2);
mais il n'y a pas de raison que tu aies une erreur de compilation!
Quant à tronquer la chaîne 2 caractères après le point, c'est possible, mais ça tronque, ça n'arrondi pas !
Resultat := Copy(toto,1,pos('.',toto)+2);

Kénavo

Code, Code, Codec !
jeudi 6 mai 2004 à 15:08:12 | Re : Transformer un nombre décimal et l'arrondir à 2 chiffres après la virgule

japee

Membre Club Administrateur CodeS-SourceS

Arriverais après la bataille ?
Quoi qu'il en soit, je viens de balancer un source traitant de l'utilisation de FormatFloat ici

ARRONDIR UN NOMBRE DÉCIMAL (FORMATFLOAT) - SAISIE VALIDE DE CE NOMBRE

Bonne prog'
jeudi 6 mai 2004 à 16:45:03 | Re : Transformer un nombre décimal et l'arrondir à 2 chiffres après la virgule

japee

Membre Club Administrateur CodeS-SourceS

Rowan :

Tu déclares
toto: String // Ok
toto := 1.5698563; // pas Ok, là c'est un Real !

il faudrait déclarer :
toto := '1,5698563';

sinon là
titi := StrToFloat(toto); // ça ne passera jamais !

Tes ennuis semble venir du fait que tu ne différencies pas :
1.5698563 qui est un Real (avec le point comme séparateur décimal),
'1,5698563' qui est un String (avec la virgule comme séparateur décimal)

C'est pourtant essentiel !

En espérant t'avoir éclairé.

Bonne prog' !


Cette discussion est classée dans : nombre, string, virgule, titi, formatfloat


Répondre à ce message

Sujets en rapport avec ce message

Convertir un nombre en string [ par Frank19 ] Allo, ce que je veux faire c'est convertir un nombre en string ... example :346entrois cents quarante-sixsi vous avez une idée a savoir comme le faire Insertion d'un nombre a virgule dans une listbox [ par lacerto84 ] Salut,J'ai un erreur ECONVERT chaque fois que j'essie d'inserer un nombre a virgule dans une listbox.Pouvez vous m'aider !Merci. transformer un nombre à virgule(style float) en nombre sans virgule (int) [ par Nargzul ] Bonjour J'ai trouvé la fonction round, mais elle arrondi, et moi il me faudrait qu'elle coupe tout simplement tout ce qui dépasse si j'ai le chiffre Aller Rechercher un nombre a virgule dans TEdit [ par Valentin_Loupe ] Bonjour,Je voudrais savoir comment faire pour aller rechercher un nombre à virgule dans un TEdit, puis le multiplier par 11 par exemple et afficher le vérifier le format d'un ShortString [ par zwyx ] Bonjour à tous,Je souhaite récupérer depuis un fichier *.ini le format qui va être appliqué pour afficher les flottants, grâce à la fonction FormatFlo algorithme de conversion des degrés décimaux en degrés sexagésimaux [ par lidia22 ] salut a tous;je voulais consernant  Comment faire pour convertir des degrés décimaux en degrés sexagésimaux en langage DELPHI?exemple:latitude = <font Arrondir un nombre décimal à 2 chiffres après la virgule ? [ par Rowan ] Bonjour,Tous d'abord un grand merci à DELPHIPROGqui a répondu à mon probleme de tranformationde point en virgule et inversement.J'ai toujours un probl Conversion String vers Type ordinal perso [ par Sylvainlefou ] BonjourJ'espere que ma question n'est pas trop idiote (quoi que)J'aimerai savoir si il existe un fonction qui peut convertir une string en Un type ord String, DLL et exportation de classe [ par Bilou972 ] Voici une chose que j'aurai du faire il y deja bien longtemps, je suis en bts info deuxieme annee, l examen approche et je suis toujours bloqué sur l'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,342 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales