From: Shigeo Kobayashi Date: 2003-08-01T13:48:14+09:00 Subject: [ruby-dev:21049] Re: [BigDecimal] exception handling 小林です。 ----- Original Message ----- From: "Shin-ichiro HARA" Subject: [ruby-dev:21046] Re: [BigDecimal] exception handling > 原です。 > 今、BigDecimal の divmod と % の仕様をみたんですけど、Bigdecimal > では、3.divmod(-4) と 3 % (-4) の結果が [1, 7] と 7 なんですね。 r = a%b、r = a-((a/b).floor)*b をそのままやってるんで... > これは変えられませんか。なぜなら、a % b = r については、 a, b の > 正負にかかわらず > > 0 <= |r| < |b| > > を成り立たせるようにするのは、強い慣習だと思うからです。 了解です。 > b = 3 > (-5..2).each do |a| > printf("%2d %% %d = %d\n", a, b, (BigDecimal(a.to_s)%BigDecimal(b.to_s))) > end > > の結果が 略 > になるのは、バグですかね。 あれ? こちらの版(preview5)ではそうならないですが? とにかく、Float に合わせたものを今コミットしました。 ふう。 ------------------ 小林 茂雄 shigeo@tinyforest.jp