2010-06-04 10 views
5

मैं जानना चाहता हूं कि .NET में कोई फ़ंक्शन है जो संख्यात्मक बाइट्स को सही माप के साथ स्ट्रिंग में परिवर्तित करता है?बाइट्स (1024) स्ट्रिंग रूपांतरण (1 केबी)?

या हमें इसे करने के लिए रूपांतरण इकाइयों को विभाजित करने और पकड़े जाने के पुराने दृष्टिकोण का पालन करने की आवश्यकता है?

+0

एक नज़र @ http://stackoverflow.com/questions/281640/how-do-i-get-a-human-readable-file-size ले लो -using-net –

+0

वाह इस पोस्ट की तरह दिखता है वास्तव में अलग-अलग स्वाद हैं :) धन्यवाद आदमी –

उत्तर

7

नहीं, ऐसा नहीं है।

आप इस तरह एक लिख सकते हैं:

public static string ToSizeString(this double bytes) { 
    var culture = CultureInfo.CurrentUICulture; 
    const string format = "#,0.0"; 

    if (bytes < 1024) 
     return bytes.ToString("#,0", culture); 
    bytes /= 1024; 
    if (bytes < 1024) 
     return bytes.ToString(format, culture) + " KB"; 
    bytes /= 1024; 
    if (bytes < 1024) 
     return bytes.ToString(format, culture) + " MB"; 
    bytes /= 1024; 
    if (bytes < 1024) 
     return bytes.ToString(format, culture) + " GB"; 
    bytes /= 1024; 
    return bytes.ToString(format, culture) + " TB"; 
} 
+0

जब तक कि मैं गलत नहीं हूं, मुझे लगता है कि यह 'समय' या 'डू' लूप के साथ पुन: प्रयास करना बेहतर होगा। और वह समाधान आंखों पर भी बेहतर होगा। यह सिर्फ मेरी राय है। : \ –

+0

@Alex: आप सही हैं; मैंने इसके बारे में सोचा नहीं था। बाद में मैंने एक अलग जवाब देखा जो ऐसा हुआ। – SLaks

+0

गैंक [।] (Http://stealinurcode.lol) – Will

संबंधित मुद्दे