/** * Parse literals like KiB or KB to its number representation 1024 (for KB & KiB) * @param mult str * @return long value */ public static long parseMultiplier(String mult) { return parseMult(mult, 0); }
public static long fromString(String str) { int end; for(end = 0; end < str.length(); ++end) { char c = str.charAt(end); // if char is not a part of number if(!(c >= '0' && c <= '9') && c != '-' && c != '+' && c != '.') { break; } } if(end == str.length()) { return Long.parseLong(str); } double rem = Double.parseDouble(str.substring(0, end)); double mult = parseMult(str, end); return (long)(rem * mult); }