示例#1
0
        /// <summary>
        /// Reduce a filesize (in kb) to the maximum target number of leading signifigant digits
        /// </summary>
        public static double GetReducedSize(long size, int targetNumberOfDigits, out FileSizeType fileSizeType)
        {
            long ReducedSize = size;

            var FileSizeTypes = Enum.GetValues <FileSizeType>().Where(x => size > x.GetCustomAttribute <ValueAttribute>().Value);

            fileSizeType = FileSizeTypes.Any() ? FileSizeTypes.Max() : FileSizeType.Kb;

            long FileSizeTypeModifier = fileSizeType.GetCustomAttribute <ValueAttribute>().Value;

            return(Math.Round(size / (double)FileSizeTypeModifier, 2));
        }