محمد بوسكوري نشر 15 يناير 2016 أرسل تقرير نشر 15 يناير 2016 (معدل) كيف لي أن أظهر حجم الملف بصيغة يمكن للمستخدم فهمها واستيعابها على تطبيق بـ vb.net، مثلاً:القيمة 7,326,629 تظهر على شكل 6.9MB كيف ذلك؟ تم التعديل في 15 يناير 2016 بواسطة محمد بوسكوري اقتباس
1 LOYOUR نشر 15 يناير 2016 أرسل تقرير نشر 15 يناير 2016 في طبيعة الحال الدوت نت تقوم بإعطاء القيمة بــ Bytes , عليك أنت تحويلها بشكل يدوي عن طريق القسمة.7,326,629 ÷ 1000 = 7.326 لا تقلق سيقوم المترجم بتحويلها بشكل مباشر الي 6.99Lbl=(FileSize / 1000 )+".MB" اقتباس
0 E.Nourddine نشر 16 يناير 2016 أرسل تقرير نشر 16 يناير 2016 بما أنه هناك احتمالات عدة لوحدة القياس التي ستظهر،"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 نحصل على 1 اقتباس
السؤال
محمد بوسكوري
كيف لي أن أظهر حجم الملف بصيغة يمكن للمستخدم فهمها واستيعابها على تطبيق بـ vb.net، مثلاً:
القيمة 7,326,629 تظهر على شكل 6.9MB
كيف ذلك؟
تم التعديل في بواسطة محمد بوسكوري2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.