自分用メモ railsの計算でNaNやInfinityを回避する

自分用メモ

railsの計算でNaNやInfinityを回避する

一旦変数として入れるとうまくいく、一発で処理させようとするとエラー

下の内容は正規表現で数字かどうか判断している

profit_ratio = ((1 - (@total_costs.to_f / @total_price.to_f ) )* 100).round(2)
if profit_ratio.to_s =~ /^[+-]?[0-9]*[\.]?[0-9]+$/
else
profit_ratio = ""
end
 
 
htmlでは
<% kakeritu = ((price_detail.unit_price.to_f / price_detail.list_price.to_f )* 100).round(1) %>
<% if kakeritu.to_s =~ /^[+-]?(?:\d+.?\d|.\d+)$/ %>
<td class= "estimate_print_td2_12"> <%= kakeritu %>%</td>
<% else %>
<td class= "estimate_print_td2_12"> </td>
<% end %>