ごとけんです

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