山本です。

一瞬どきっとしましたが、float => string がおかしいようです。

/////////////////////////////////////////////////
// numeric.c 1.101.2.4

E:\ruby-cvs\ruby_1_8>miniruby -e "p 0.000000001"
1.0e-09

E:\ruby-cvs\ruby_1_8>miniruby -e "p 0.00000000001"
1e-11

/////////////////////////////////////////////////
// numeric.c 1.101.2.5 (ruby_1_8)

E:\ruby-cvs\ruby_1_8>miniruby -e "p 0.000000001"
1.0000000000000001e-09

E:\ruby-cvs\ruby_1_8>miniruby -e "p 0.00000000001"
9.9999999999999994e-12