[#34988] BigFloat の to_i メソッドについて — Sako Hiroshi <sakoh@...2.so-net.ne.jp>
[#34989] mailing list archive? — maili31s@... (SugHimsi == SUGIHARA Hiroshi)
すぎむし。
[#34991] a = 4 ; p((a < 3) or (a > 5)) — Take_tk <ggb03124@...>
次のものがエラーになるのは何故なんでしょうか?
新井です。
たけ(tk)です。
まつもと ゆきひろです
newです.
[#34994] コマンドライン引数の # — 渋川よしき <yoshiki@...>
渋川と申します。
[#35005] FILE_READPTR — Daisuke Aoki <dai@...>
青木@横浜です。
[#35028] win32.c 中の my* 関数について — 小西 弘将 <konishih@...6.so-net.ne.jp>
小西 弘将です。
なかだです。
小西 弘将です。
小西 弘将です。
こんにちは、なかむら(う)です。
なかだです。
小西 弘将です。
なかだです。
小西 弘将です。
小西 弘将です。
なかだです。
小西 弘将です。
なかだです。
[#35052] ruby_lib/html/ — Wakou Aoyama <wakou@...>
青山です。
にょにょると申します。(ここハンドル投稿ダメなのでしょうか?ダメなら本
青山です。
にょにょるです。オンラインではずっとこれを使っているので、これでいきま
青山です。
はじめまして。Siena. と申します。
青山です。
Siena.%なんだか毎度長いなぁ --; です。
まつもと ゆきひろです
[#35054] 「 Ruby/GTK プログラミング入門」 — Noritsugu Nakamura <nnakamur@...>
なかだです。
むとうです。
[#35058] Y Combinator — sinara@...
"Y Combinator" とは何かというと
続いて、ちょっと数学っぽい解釈をします。先の
At Sun, 12 May 2002 13:59:51 +0900,
[#35081] ISO 8601 と Time#wday — Take_tk <ggb03124@...>
Delphi の日付時刻ルーチンを Ruby にポートしようと思っているのですが、次
[#35087] Re: Y Combinator — 正木 功 <GEC01122@...>
正木です。
[#35102] ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — Kouhei Sutou (須藤功平) <kou@...>
はじめまして、須藤です。
なひです。
須藤です。
なひです。
須藤です。
なかだです。
高橋征義です。
なひです。
なひです。
まつもと ゆきひろです
須藤です。
なひです。
Siena. です。
よしだです
なひです。
[#35109] DOS プロンプトからリダイレクションつきの system — TOYOFUKU Chikanobu <toyofuku@...>
豊福です。
[#35113] Re: Marshallers summary — "NAKAMURA, Hiroshi" <nakahiro@...>
なかひろです。
[#35134] 朝、トーストを食べていると不意に — Shin-ichiro HARA <sinara@...>
「来年から Perl が高校の授業で必修になるってホント?」って
[#35207] tar.gz の展開 — "NAKANO Kouichi" <knuckle@...8.dion.ne.jp>
はじめまして、なかのともうします。
[#35215] ruby-shell-mode — "Shirai,Kaoru" <shirai@...1jp.com>
白井です。
[#35252] ((Time.now)..(Time.now+60)) — Take_tk <ggb03124@...>
たけ(tk)です。
[#35253] ((1.2)..(3.4)).to_a — Take_tk <ggb03124@...>
1.2..3.4 を配列にすると、その範囲に属しない整数「1」が含まれるという点に
まつもと ゆきひろです
たけ(tk)です。
Siena. です。
まつもと ゆきひろです
Siena. です。
まつもと ゆきひろです
[#35264] HTML generation library — Wakou Aoyama <wakou@...>
青山です。
[ruby-list:34988] BigFloat の to_i メソッドについて
酒匂と申します。
ruby 1.6.6 + bigfloat 1.1.9
ruby 1.6.7 + bigfloat 1.1.9
(i686-linux, i586-mswin32)
を利用している状況で
-----<program>---------------------------------------------
require 'BigFloat'
x = BigFloat.new("9500000") * BigFloat.new("0.1")
p [x, x.to_i]
x = BigFloat.new("950000")
p [x, x.to_i]
x = BigFloat.new("950000") * BigFloat.new("1")
p [x, x.to_i]
x = BigFloat.new("95000") * BigFloat.new("10")
p [x, x.to_i]
x = BigFloat.new("9500") * BigFloat.new("100")
p [x, x.to_i]
x = BigFloat.new("950.0") * BigFloat.new("1000")
p [x, x.to_i]
x = BigFloat.new("95.00") * BigFloat.new("10000")
p [x, x.to_i]
x = BigFloat.new("9.500") * BigFloat.new("100000")
p [x, x.to_i]
x = BigFloat.new(".9500") * BigFloat.new("1000000")
p [x, x.to_i]
というプログラムを実行すると。
-----<output>---------------------------------------------
[[BigFloat:28492b0,'0.95E6',4(16)], 950000]
[[BigFloat:2849208,'0.95E6',4(12)], 950000]
[[BigFloat:2849130,'0.95E6',4(16)], 950000]
[[BigFloat:2849058,'0.95E6',4(20)], 950095]
[[BigFloat:2848f80,'0.95E6',4(16)], 950000]
[[BigFloat:2848ea8,'0.95E6',4(16)], 950000]
[[BigFloat:2848dd0,'0.95E6',4(16)], 950095]
[[BigFloat:2848cf8,'0.95E6',4(20)], 950095]
[[BigFloat:2848c20,'0.95E6',4(16)], 950000]
といった出力になります。
to_i 後の値として期待しているのはすべて 950000 ですが、ときどき 950095 が混ざって
います。BigFloat の各インスタンス同士に == を適用すると true が返ってきますので、
to_i する際にこのようになるのだと思いますが。。。
これは BigFloat の問題でしょうか?
ちなみに
(x * 1).to_i
とすると、皆 950000 を返すようになりますので、応急処置として
class BigFloat
alias to_i_priv to_i
def to_i
(self * 1).to_i_priv
end
end
としています。。。
-----------------------------------------------------------------------
<Sako Hiroshi> mailto:sakoh@ba2.so-net.ne.jp
tel: +81-042-749-3169, fax: 020-4669-2655(in Japan) mailto:sakoh@d2.to
Designers' Den Corporation http://www02.so-net.ne.jp/~sakoh/
-----------------------------------------------------------------------