Probleme de conversion exponentielle en Float
Bu1979
-
Bu1979 -
Bu1979 -
Bonjour,
J'ai un ptit souci pour afficher un chiffre calcule avec un script Unix :
cat "$Fichier" | sed '1,1d' | awk -F',' '{print $3-$4";"$5";"$6";"$7}' | sed '/;0/d' | sed '/;-0/d' > $OUT_FILE_INS
$3-$4 me donne un chiffre scientifique (avec exponentielle) or j'aimerai garder un Float avec 2 chiffres apres la virgule par exemple.
J'ai trouvai des options avec Printf: printf %2.f, mais j'ai limpression que la commande le comprend comme un caractere et non pas comme une option de conversion. (grosso modo elle affiche "%2.f" au lieu de convertir le resultat)
Quelle serait la commande exacte pour ce probleme?
Merci pour vos reponses.
J'ai un ptit souci pour afficher un chiffre calcule avec un script Unix :
cat "$Fichier" | sed '1,1d' | awk -F',' '{print $3-$4";"$5";"$6";"$7}' | sed '/;0/d' | sed '/;-0/d' > $OUT_FILE_INS
$3-$4 me donne un chiffre scientifique (avec exponentielle) or j'aimerai garder un Float avec 2 chiffres apres la virgule par exemple.
J'ai trouvai des options avec Printf: printf %2.f, mais j'ai limpression que la commande le comprend comme un caractere et non pas comme une option de conversion. (grosso modo elle affiche "%2.f" au lieu de convertir le resultat)
Quelle serait la commande exacte pour ce probleme?
Merci pour vos reponses.
Configuration: Windows XP Internet Explorer 6.0
6 réponses
-
et avec printf %.2f ?
-
Bonjour,
En effet je me suis trompe dans le message, jutilise bien %.2f, mais ca ne marche pas -
on peut voir le contenu du fichier et le format des nombres ?
utiliser sprintf pour convertir de e en f ? -
Bien sur:
une ligne de mon fichier $Fichier: 20070919,100500,2706000.00,5753267.98,AUD,20070920,,IMPORT
Les valeurs $3 et $4, je les soustrait, et redirige le resultat vers un fichier $OUT_FILE_INS
resultat qu'il devrait me donner: -3047267.98,AUD,20070920,
or il me donne qq chose comme: -3.04e7,AUD,20070920,
Voila pour les renseignements -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
et comme ça: awk -F',' '{printf("%.2f;%s;%s;%s\n", $3-$4, $5, $6, $7)}
-
Ah ouai, j'avais pense a cette formule, mais elle etait incomplete dans mon cas :-). Je l'essaierai demain, merci pour ton aide, je te reviens sur le sujet pour te dire si cela a marche.
++