From: "岩崎 弘孝" Date: 2002-09-18T08:52:16+09:00 Subject: [ruby-list:35962] Re: 指数表記のフォーマットの制御方法 岩崎です。 西松様 はじめまして、宜しくお願いします。 > > 書き出したものを別のソフトで読み出すので > > 「別のソフト」がFORTRANで書かれていて, 読み出しのところで > FORMAT(書式)を使ってしまっているが問題のようにお見受けし > ます(ちがうかな). こちらを直すほうがよいと思います. > 別のソフトはC++です。ただしソースはありませんので書き出し側に 手を入れる事ができません。また、既存のファイルが多数あるので そちらへの手だてが必要となります。 「読み出しのところでFORMAT(書式)を使ってしまっているにが問題」 とはどういう意味ですか。ASCIIデータを単に%15.7eで読んでいる事 自体に問題があるのですか? E+00とE+000では総幅が限定されている範囲では有効数字が 減ってしまうので ruby側での出力がe+00と2桁表示になるが希望です ので、出力側とは一切関係がない要件です。 > 最近 marshal.c を読んでいて解った気になっているのですが, > C言語限定なら "%.16g" で書き出せば「書き出したものを別の > ソフトで読み出す」場合に正確に倍精度数を再現できるみたい > です. これは意味が理解できません。どんな書式にしろASCIIに直した 時点で正確な倍精度数の再現はできないのではないのですか? 以上よろしくお願いします。