اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

في طبيعة الحال الدوت نت تقوم بإعطاء القيمة بــ Bytes , عليك أنت تحويلها بشكل يدوي عن طريق القسمة.

7,326,629  ÷ 1000 = 7.326 

لا تقلق سيقوم المترجم بتحويلها بشكل مباشر الي 6.99

Lbl=(FileSize / 1000 )+".MB"

 

  • 0
نشر

بما أنه هناك احتمالات عدة لوحدة القياس التي ستظهر،"B", "KB", "MB", "GB" سنعمل على إنشاء مصفوفة تحتوى على هذه الوحدات، على أن يتم تحديد الوحدة المناسبة مع حجم الملف.

ليكون الكود بالشكل التالي:

string[] sizes = { "B", "KB", "MB", "GB" };
double len = new FileInfo(filename).Length;
int order = 0;
while (len >= 1024 && order + 1 < sizes.Length) {
    order++;
    len = len/1024;
}

ثم تحديد format أو شكل ظهرو الحجم:

string result = String.Format("{0:0.##} {1}", len, sizes[order]);
  • يمكن أيضا استعمال الصيغة التالية، والتي لا تختلف كثيرا عن الأولى:
static String BytesToString(long byteCount)
{
    string[] suf = { "B", "KB", "MB", "GB", "TB", "PB", "EB" }; //مختلف الوحدات للقياس حجم الملف
    if (byteCount == 0)
        return "0" + suf[0];
    long bytes = Math.Abs(byteCount);
    int place = Convert.ToInt32(Math.Floor(Math.Log(bytes, 1024)));
    double num = Math.Round(bytes / Math.Pow(1024, place), 1);
    return (Math.Sign(byteCount) * num).ToString() + suf[place];
}

أمثلة لما يمكن الحصول عليه:

Console.WriteLine(BytesToString(9223372036854775807));  //  8EB نحصل على 
Console.WriteLine(BytesToString(0));                    //  0B نحصل على
Console.WriteLine(BytesToString(1024));                 // 1KB نحصل على
Console.WriteLine(BytesToString(2000000));              //  1.9MB نحصل على
Console.WriteLine(BytesToString(-9023372036854775807)); // -7.8EB نحصل على

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...