Summarized, label_method allows you to define a method, which is called for each of the items in the given collection, and of which the result is used to display the item
Either you give a symbol as label method, like
label_method: :method_to_be_called
or you define the method in place, like
label_method: lambda { |value| calculated_label }
In your case, I would define the collection as
[ [BigDecimal(10), 0], [BigDecimal(20), 0], [BigDecimal(22.5, 3), 2] ]
and the label_method as
label_method: lambda { |value| number_with_precision(value[0], precision: value[1]) }
You probably also need a value_method, returning the right result to your server, something like
value_method: lambda { |value| value[0] }