岩崎です。

西松様 はじめまして、宜しくお願いします。

  > > 書き出したものを別のソフトで読み出すので
  > 
  > 「別のソフト」がFORTRANで書かれていて, 読み出しのところで
  > FORMAT(書式)を使ってしまっているが問題のようにお見受けし
  > ます(ちがうかな). こちらを直すほうがよいと思います.
  > 
  別のソフトはC++です。ただしソースはありませんので書き出し側に
  手を入れる事ができません。また、既存のファイルが多数あるので
  そちらへの手だてが必要となります。

  「読み出しのところでFORMAT(書式)を使ってしまっているにが問題」
  とはどういう意味ですか。ASCIIデータを単に%15.7eで読んでいる事
  自体に問題があるのですか?


  E+00とE+000では総幅が限定されている範囲では有効数字が
  減ってしまうので ruby側での出力がe+00と2桁表示になるが希望です
  ので、出力側とは一切関係がない要件です。


  > 最近 marshal.c を読んでいて解った気になっているのですが,
  > C言語限定なら "%.16g" で書き出せば「書き出したものを別の
  > ソフトで読み出す」場合に正確に倍精度数を再現できるみたい
  > です.

  これは意味が理解できません。どんな書式にしろASCIIに直した
  時点で正確な倍精度数の再現はできないのではないのですか?
  
  以上よろしくお願いします。