Bonjour,
Je rencontre un problème de format d'écriture en manipulant des réels dont l'exposant est à 3 chiffres. Le programme suivant :

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
sort :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 0.10000000E-99
 0.10000000-100
Le signe "E" n'apparait plus ce qui est génant pour la lecture des fichiers par un autre programme.

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