class String

Public Instance Methods

z15021sn_binary_prefix_bytes() click to toggle source
# File lib/z15021sn_binary_prefix_bytes.rb, line 4
def z15021sn_binary_prefix_bytes
  /^(\d+\.*\d*)((Ki*B)|(Mi*B)|(Gi*B)|(Ti*B)|(Pi*B)|(Ei*B)|(Zi*B)|(Yi*B))$/ =~ self
  return nil if $~ == nil

  value = $1 == nil ? nil : $1.to_f
  return nil if value == nil

  exponent = nil
  ($~[3..10]).each_with_index {|m, i| exponent = i + 1 if m != nil }
  return nil if exponent == nil

  value *= 2 ** (10 * exponent)
end