def display_value(value)
      return '- ' if value.nil?
      return '0 ' if value.zero?

      case [Math.log10(value.abs).floor, 0].max
        when  0...4  then '%d ' % value
        when  4...7  then '%dk' % (value / 1000)
        when  7...10 then '%dM' % (value / 1_000_000)
        when 10...13 then '%dG' % (value / 1_000_000_000)
        when 13...16 then '%dT' % (value / 1_000_000_000_000)
        else              '%dP' % (value / 1_000_000_000_000_000)
      end
    end
def display_value(value)
      return '- ' if value.nil?
      return '0 ' if value.zero?

      case [Math.log10(value.abs).floor, 0].max
        when  0...4  then '%d ' % value
        when  4...7  then '%dk' % (value / 1000)
        when  7...10 then '%dM' % (value / 1_000_000)
        when 10...13 then '%dG' % (value / 1_000_000_000)
        when 13...16 then '%dT' % (value / 1_000_000_000_000)
        else              '%dP' % (value / 1_000_000_000_000_000)
      end
    end
Display a value