ごとけんです In message "[ruby-dev:4476] Re: new class for float of C (Re: module Precision)" on 99/01/28, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes: >ごとけんです >>まつもと ゆきひろです > >>|ほとんどの物理定数が10桁程度であることを考えると, >>|"%15.10g" で仮数部の先頭の空白と小数点以下の末尾の >>|'0' を削るくらいが適当だと思います. >> >>了解です.そうしよう. > >気づかれているかも知れませんが "%16.10g" です. > > 指数部最大 = 「符号」 + `e' + 3桁 = 5 桁 > 仮数部最大 = 10桁 + 「小数点」 = 11 桁 > >の「小数点」を忘れてました. ごめんなさい.「全体の符号」も,忘れてました. しかも,よく考えるとフォーマット文字列で「.」の前に 全体の桁数指定をしなければ空白は入らないし, %g はもともと仮数部の末尾に 0 をつけませんね. よって結局 flo_to_s の "%g" を "%.10g" にするだけでよいです. あと flo_to_s で char buf[32] となってますが, 実際は高々17文字しか書かれないので,buf[24] で 良いような気もしました. -- gotoken