Member 14013003 Ответов: 4

Показать размер файла в МБ в метке


показать размер файла в МБ в метке

Что я уже пробовал:

FileInfo fs = new FileInfo(filename);
long filesize = fs.Length / 2048;
label28.Text = System.Convert.ToString( "File Size : " + filesize)  + "KB";

Richard Deeming

NB: Возможно, вам придется подумать, используете ли вы "компьютерные" мегабайты (220, официально называемый "мебибайт" с символом MiB) или мегабайт Си (106).

Определения единиц СИ: двоичные префиксы[^]
Gigabyte - потребительская путаница - Википедия[^]

4 Ответов

Рейтинг:
22

phil.o

long filesizeInBytes = fs.Length;
long filesizeInKiloBytes = fs.Length >> 10; // equivalent to fs.Length / 1024
long filesizeInMegaBytes = fs.Length >> 20; // equivalent to fs.Length / 1048576
// If you need sizes with decimals:
double filesizeKB = fs.Length / 1024d;
double filesizeMB = fs.Length / 1048576d;
// Note the need to divide by a double value to avoid integer division.


MadMyche

(+5)
Черт возьми, я напечатал это почти дословно и собирался скопировать/вставить это.

Member 14013003

мой размер файла составляет 3900 КБ, как я могу показать 3,9 МБ ?

phil.o

Разделив 3900 на 1024. Потому что там 1024 Кб в одном Мб.

Рейтинг:
2

Richard MacCutchan

Длина /2048 не дает мегабайт или даже килобайт. Килобайт-это 1024 байта, а мегабайт-1024 килобайта.


Рейтинг:
2

Patrice T

Цитата:
Показать размер файла в МБ в метке

1 КБ = 1024 байта
1 Мб = 1024 Кб
1 МБ = 1024*1024 байта
Мегабайт - Википедия[^]