[ruby-list:49809] Re: 小数点以下の表示で質問があります。
From:
Fumiaki Sakamoto <ght8270407fs@...>
Date:
2014-04-23 07:50:53 UTC
List:
ruby-list #49809
ありがとうございます。 早速行ってみます。 坂元史明 On 2014/04/23 16:42, "Tetsuo Sakaguchi" <saka@slis.tsukuba.ac.jp> wrote: >阪口です。 > >In message <CF7D8806.26B3%ght8270407fs@kfa.biglobe.ne.jp> >2014-04-23T15:17+0900, > Fumiaki Sakamoto <ght8270407fs@kfa.biglobe.ne.jp> wrote: >> Rationalを使っても、0.1という形で10分の1を表現しても私の方法では結果は同じで >> した。 > >a に Rational のインスタンスをいれても他に Float な値があると計算する際に >Float に変換されて、2進の浮動小数点数計算になるので、十進の 0.1 は >2進化される際に近似値になってしまうと思います。その辺りが >きしもとさんの「中途半端に」という指摘なんだと思います。 > >Rational で計算させたいのなら、b とか c に代入している 9.0 とか 0.0 も >Rational か整数にしないと。。。 >-- >阪口哲男@図書館情報メディア系.筑波大学 >Tetsuo SAKAGUCHI. >Faculty of Library, Information and Media Science >University of Tsukuba, JAPAN. > > >> もともと、0.999...という循環小数が >> 0.999...= 9 x (1/10)**1 + 9 x (1/10)**2 + 9 x (1/10)**3 + ・・・+ 9 x >> (1/10)**n >> で表現され、n=∞の時に1に等しくなるというところを出典に試しに計算させたもので >> す。 >> >> >> On 2014/04/23 13:33, "KISHIMOTO, Makoto" <ksmakoto@dd.iij4u.or.jp> >>wrote: >> >> >きしもとです >> > >> >> require 'rational' >> >> a = 0.1 あるいは a = Rational(1, 10) >> > >> >この、中途半端に有理数を使って(使おうとして)いるのは何でしょうか? >>