まつもと ゆきひろです
In message "[ruby-dev:20044] Re: test failed on mswin32"
on 03/04/21, WATANABE Hirofumi <eban / os.rim.or.jp> writes:
|> > s = "3.7517675036461267e+17"
|> > test_ok(s == sprintf("%.16e", s.to_f))
|>
|> ですが、mswin32では(というかMSVCRTでは)、sprintfの結果が
|>
|> "3.7517675036461267e+017"
|>
|> となるため失敗します。
|> どうするのが望ましいでしょうか?
|
|これはutil.cのruby_strtod()をテストするために追加されたわけで、
|to_fが使われていればよさそうです。
| f = 3.7517675036461267e+17
| test_ok(f == sprintf("%.16e", f).to_f)
|でどうでしょう?
んじゃそれで。