Forum: Ruby No to_d in BigDecimal

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
A90204c955db033cd975f7bb0ec9600b?d=identicon&s=25 Ashley Moran (Guest)
on 2006-03-15 13:04
(Received via mailing list)
Hi everyone

I'm new to the Ruby bandwagon.  To get warmed up I've took on the gentle
task
of modifiying the PostgreSQL Rails adapter to read and write decimals as
BigDecimals.  Oops bad choice :)  I'm still working on that though, so I
won't post the half-baked patch yet.

Anyway the immediate issue I have is actually simple.  Late last night I
managed to get it reading BigDecimals, but my test case was trying to
call
to_d on the objects I was getting back.  Can't remember why (it was late
-
brain was fried), but I had to open the class and add it in (return
self).

This seems like a strange omission from the BigDecimal class.  Anyone
know if
there's a reason for that?  If not could it be added in?  I'm scared to
touch
it because it's a C library.

Ashley
Fee23d1fc58edee59e05d7a52dcf172e?d=identicon&s=25 Kevin Brown (Guest)
on 2006-03-17 20:20
(Received via mailing list)
On Wednesday 15 March 2006 06:02, Ashley Moran wrote:
> brain was fried), but I had to open the class and add it in (return self).
>
> This seems like a strange omission from the BigDecimal class.  Anyone know
> if there's a reason for that?  If not could it be added in?  I'm scared to
> touch it because it's a C library.

If you're looking for double, then you're probably looking for to_f
(float).
0b561a629b87f0bbf71b45ee5a48febb?d=identicon&s=25 Dave Burt (Guest)
on 2006-03-17 23:49
(Received via mailing list)
Ashley Moran wrote:
>
> This seems like a strange omission from the BigDecimal class.  Anyone know
> if
> there's a reason for that?  If not could it be added in?  I'm scared to
> touch
> it because it's a C library.

Looks to me like it's missing.
How about we add this near line 1310 of ext/bigdecimal/bigdecimal.c?
+    rb_define_method(rb_cBigDecimal, "to_d", BigDecimal_uplus, 0);

Cheers,
Dave
This topic is locked and can not be replied to.