i think number_with_precision is the perfect answer to your question
to have the result you're looking for, you should set the options :precision => 2
and :significant => true
for your given examples, you would use
number_with_precision(0.00000012344, :precision => 2, :significant => true)
number_with_precision(0.0035, :precision => 2, :significant => true)
number_with_precision(76.543554, :precision => 2, :significant => true)
for further precisions see the rails doc http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html#method-i-number_with_precision