Bonjour,
Je rencontre un problème de format d'écriture en manipulant des réels dont l'exposant est à 3 chiffres. Le programme suivant :
sort :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 integer(kind=4) :: i real(kind=8) :: a a = 1.0D-99 do i = 1 , 2 a = a / 10.0D0 write(*,"(E15.8)") a enddo
Le signe "E" n'apparait plus ce qui est génant pour la lecture des fichiers par un autre programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 0.10000000E-99 0.10000000-100
Tous les formats explicites que j'ai essayé donnent le même problème.
Il n'y a que le format libre "*" qui affiche bien "E-100" mais je ne peux pas l'utiliser pour d'autres raisons (le fichier de sortie doit être bien formater pour le post-traitement)
Quelqu'un connait-il une manière de traiter ce problème ?
Je travaille sous Linux (RedHat) et compile avec ifort (v10.1)
Merci
Partager