private static long GetMultiplier(DataSizeMetricUnit unit) { return((long)Math.Pow(10, 3 * (int)unit)); }
/// <summary> /// Loads an amount of bytes /// </summary> /// <param name="unit">unit to load</param> /// <param name="value">bytes to load</param> public static DataSize GetFrom(ulong value, DataSizeMetricUnit unit) { return(new DataSize(value * (ulong)GetMultiplier(unit))); }
/// <summary> /// Convert into value with unit /// For metric Units /// </summary> /// <param name="unit">the selected unit</param> /// <returns>the format string</returns> public string GetString(DataSizeMetricUnit unit) { return(string.Format("{0:0.###} {1}", this.ConvertTo(unit), unit)); }
/// <summary> /// Loads an amount of bytes /// </summary> /// <param name="unit">unit to load</param> /// <param name="value">bytes to load</param> public static DataSize GetFrom(Decimal value, DataSizeMetricUnit unit) { return(new DataSize(Decimal.ToUInt64(value * GetMultiplier(unit)))); }
/// <summary> /// converts the current value into /// </summary> /// <param name="unit"></param> /// <returns></returns> public Decimal ConvertTo(DataSizeMetricUnit unit) { return(Decimal.Divide(this.bytes, GetMultiplier(unit))); }