On Oct 20, 2008, at 4:19 PM, Becca Girl wrote:> Hi.
>
> I''ve got a report where I''m making comparisons between 2
different
> values. It''s possible for the percentage difference from one
value to
> the next to be less than or greater than the original number.
>
> If value 2 is 20% greater than OR 20% less than value 1, I want to
> highlight that row in a table that I created.
>
>
> Any thoughts on how to write the correct if statement that would yield
> this result?
>
>
> So far I have diff = (value1 - value2) / value1
>
> .5 = (10-5)/10 which is a 50% decrease between the 2 values
>
> Since the percentage difference is greate than 20%, how can I test
> that
> 50% in an if statement to highlight this difference for review?
>
> THANKS!
def highlight_difference(value1, value2, close_enough=0.8..1.2)
return nil if value1.nil? || value2.nil?
return nil if value1.zero?
return nil if close_enough.include?(value2.to_f/value1)
true
end
irb> highlight_difference(10, 5)
=> true
irb> highlight_difference(10, 8)
=> nil
irb> highlight_difference(10, 12)
=> nil
irb> highlight_difference(10, 15)
=> true
-Rob
Rob Biedenharn http://agileconsultingllc.com
Rob-xa9cJyRlE0mWcWVYNo9pwxS2lgjeYSpx@public.gmane.org
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---