class Rlid::Percentage

Public Class Methods

new(value) click to toggle source
# File lib/rlid/probabilities/language_probabilities.rb, line 8
def initialize value
  @value = value
end

Public Instance Methods

to_f() click to toggle source
# File lib/rlid/probabilities/language_probabilities.rb, line 32
def to_f
  @value
end
to_s() click to toggle source
# File lib/rlid/probabilities/language_probabilities.rb, line 12
def to_s
  if @value <= 0.98
    "%.2g" % (@value * 100)
  elsif @value == 1.0
    "100"
  else
    complement = 1.0 - @value
    # complement =
    log = -Math.log10(complement).ceil
    digits = log - 1
    res = "%.#{digits}f" % (@value * 100)
    last = -1
    while res[last] == ?9
      digits += 1
      res = "%.#{digits}f" % (@value * 100)
    end
    res
  end
end