From: Yoshiyuki Kusano Date: 1997-09-29T13:09:39+09:00 Subject: [ruby-list:4718] Re: How To Convert Rational To Float 草野@構造計画です. Yukihiro Matsumoto wrote: > > まつもと ゆきひろです > > In message "[ruby-list:4714] How To Convert Rational To Float" > on 97/09/29, Yoshiyuki Kusano writes: > > |草野@構造計画です. > | > |現在拡張モジュールを作成しているのですが,関数の引数としてRational > |オブジェクトでデータを受けた場合,それをC言語でどのようにFloatに変 > |換すればいいのかわかりません. > > 一番簡単なのは > > VALUE f_float() > > を使う事でしょう.引数として与えたオブジェクトを適切にFloat > に変換してくれます.引数に注意: > > VALUE v = f_float(0, arg); > double value = RFLOAT(v)->value; > > f_float()の第一引数は使われませんからなんでも構いません. うまくいきました.ありがとうございます. Cのdoubleへの変換っていうのはよくおこることだと思うので,NUM2INTの double版(NUM2DOUBLE?)みたいなマクロが標準で用意されていたら,これ から拡張モジュールを開発する人がdoubleの変換時に使いやすいと思ったの ですがいかがでしょう?