I mentioned a "percentage" column in my database in a different thread. It's a 
customized numeric type that can only range from 0.0000 to 1.0000. (Yes, 
'percentage' is a bit of a misnomer: it needs to be multiplied by 100 to 
actually be a percentage.) When I retrieve a value from this column, let's say 
it's 10%, instead of getting "0.1" I get #<BigDecimal:1017afd30,'0.1E0',4(12)>.

This was what I did to get it to provide a float:

class Component < Sequel::Model
        alias_method :bdpercentage, :percentage
        def percentage
                bdpercentage.to_f
        end
end

It seems to work, but I haven't been using Sequel long enough to know for sure 
what the ramifications might be. Will I need to also define a setter on 
percentage, or will a float automatically convert back to something Postgres 
would accept? (I might want to add a validator, of course, since Postgres will 
reject an attempt to set percentage to "1.3", for instance.)

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en.

Reply via email to