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

  FORUM HardWare.fr
  Programmation
  Perl

  Ecriture d'un nombre selon un format précis

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecriture d'un nombre selon un format précis

n°439212
Marnie
Posté le 25-06-2003 à 15:55:53  profilanswer
 

Salut
 
Je voudrais pouvoir écrire des nombres sous la forme 0.#####E+(-)##
Après quelques recherches (je débute complètement), je me retrouve avec cette ligne :
 
printf FOUT "%- .5E, %- .5E, %- .5E, \n", $Y, $Z, $TEMPERATURE ;
 
Et j'obtiens, par exemple :
8.02000E+00, 0.00000E+00,  3.77380E+01,
 
C'est pas mal, mais mon but c'est  
0.80200E+01, 0.00000E+00,  0.37738E+02
 
Et pour avoir ça, j'ai beau chercher sur des tutoriels de Perl ou de C, je ne trouve rien.
Si vous avez des idées, elles sont les bienvenues.


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
mood
Publicité
Posté le 25-06-2003 à 15:55:53  profilanswer
 

n°439656
pospos
Posté le 25-06-2003 à 23:57:45  profilanswer
 

voila une solution bien crade, à défaut de mieux:
 

Code :
  1. $a = sprintf "%- .5E, %- .5E, %- .5E, \n", $Y, $Z, $TEMPERATURE ;
  2. $a =~ s/([^0])\.(\d*)E(.)(\d\d)/$_=$2;substr($_,-1)>=5&&substr($_,-2,1)++;chop;my$e=$4-1+2*($3eq"+" );"0.$1$_"."E$3".($e<9?"0$e":$e)/ge;
  3. print $a;

n°439661
pospos
Posté le 26-06-2003 à 00:07:45  profilanswer
 

ha oui au fait, tel que c'est la ca arrondi au lieu de tronquer:
 
3.77386E+01 => 0.37739E+02  
 
si tu veut tronquer c'est plus court:
 

Code :
  1. $a = sprintf "%- .5E, %- .5E, %- .5E, \n", $Y, $Z, $TEMPERATURE ;
  2. $a =~ s/([^0])\.(\d*)E(.)(\d\d)/$_=$2;chop;my$e=$4-1+2*($3eq"+" );"0.$1$_"."E$3".($e<9?"0$e":$e)/ge;
  3. print $a;


[/citation]

n°439821
Marnie
Posté le 26-06-2003 à 09:27:49  profilanswer
 

Merci bien. J'ai utilisé la solution avec arrondi, même si avec une telle précision, ça n'a plus beaucoup d'importance. Par contre je ne comprends rien, mais je promets de me pencher dessus dès que j'aurai le temps.


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
n°439874
Muchacho
Posté le 26-06-2003 à 10:19:41  profilanswer
 

pospos a écrit :

ha oui au fait, tel que c'est la ca arrondi au lieu de tronquer:
 
3.77386E+01 => 0.37739E+02  
 
si tu veut tronquer c'est plus court:
 

Code :
  1. $a = sprintf "%- .5E, %- .5E, %- .5E, \n", $Y, $Z, $TEMPERATURE ;
  2. $a =~ s/([^0])\.(\d*)E(.)(\d\d)/$_=$2;chop;my$e=$4-1+2*($3eq"+" );"0.$1$_"."E$3".($e<9?"0$e":$e)/ge;
  3. print $a;




[/citation]
C'est la qu'on se dit qu'on est content de parler le Perl couramment :sweat: :D

n°440936
pospos
Posté le 26-06-2003 à 22:20:01  profilanswer
 

Marnie a écrit :

Par contre je ne comprends rien, mais je promets de me pencher dessus dès que j'aurai le temps.


 
Pas la peine de t'y plonger: c'est du code imbitable de gros porc, j'ai moi-meme du mal à me relire. Mais bon l'essentiel c'est que ca fasse le boulot...

n°441785
Marnie
Posté le 27-06-2003 à 14:09:56  profilanswer
 

Ah ok :D  
Un jour où j'aurai vraiment rien à faire, alors ; ou bien si j'ai besoin d'épater mon stagiaire.


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
n°501645
pospos
Posté le 29-08-2003 à 14:07:14  profilanswer
 

un module CPAN qui fait ca plus proprement:
 
http://search.cpan.org/author/COLI [...] iEng-0.91/


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

  Ecriture d'un nombre selon un format précis

 

Sujets relatifs
changer de couleur en cours d'ecriture dans une richtextbox? [C#][EclipseUML] Exporter un diagramme sous un format externe ? [résolu]
Comment compter le nombre de lignes d'un ficher ??Comment modifier la couleur du souligné pour un seul lien précis ?
cpp - generer un nombre aleatoirement? problemeForcer la saisie d'une date au format jj/mm/aaaa dans une textbox
Aide pour une requete "nombre de connexion par tranche horaire"Ecriture de String ds un fichier, puis lecture et affichage ds une fen
Accélérer le temps de conversion des mails en format MIMEcherche script ou application gerant le nombre de visite et l'ip
Plus de sujets relatifs à : Ecriture d'un nombre selon un format précis


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