• ベストアンサー

Excelのrept関数の繰り返し回数について

関数式=rept("*",3/1)では、***と表示されますが、     =rept("*",0.3/0.1)では、**と表示されます。  数式で0.3/0.1は3になるにもかかわらず、2個分しか繰り返されません。  結果が異なるのはなせでしょうか?  バージョンは2003,2007,2010など無関係です。

質問者が選んだベストアンサー

  • ベストアンサー
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

パソコン上では、0.3/0.1 は、3.0 にはならないからです。   約 2.999999618xxxx となります。 パソコンが整数を扱うときには、3はそのまま3であり、1も1です。 しかし、小数である 0.3 や 0.1 を内部で記憶するときには、浮動小数点数という 形式で行います。 ご参考 http://www.cc.kyoto-su.ac.jp/~yamada/programming/float.html  よって、0.3/0.1 では、3には足りないので、** となってしまいます。  Excel というよりは、デジタルコンピュータの仕様上しかたのないことです。

参考URL:
http://www.cc.kyoto-su.ac.jp/~yamada/programming/float.html
PeaceHero
質問者

お礼

DIooggooID さま 早速のご回答、ありがとうございます。 すっきりしました!感動です。さすがです。 これからもご指導よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう