module ElasticAPM::Util::PrecisionValidator
def validate(value, precision: 0, minimum: nil)
def validate(value, precision: 0, minimum: nil) float = Float(value) return nil unless (0.0..1.0).cover?(float) return float if float == 0 multiplier = Float(10**precision) rounded = (float * multiplier + 0.5).floor / multiplier if rounded == 0 && minimum minimum else rounded end rescue ArgumentError nil end