Как подсчитать размер файла в байтах, килобайтах, мегабайтах и т.п - Visual Basic .NET
Формулировка задачи:
Итак, в форме программы должен выводится размер файла в зависимости от которого, показатель будет измеряться в b, Kb, Mb, Gb. Возникли некоторые сложности в подсчете, ведь функция IO.FileInfo.Length выводит размер в байтах.
Возникла мысль сделать через If:
Но не покатило(
Листинг программы
- If FI.Length < 1024 Then
- LabelMb.Text = Math.Round(FI.Length, 1) & " b"
- End If
- If 1073741824 > FI.Length > 1024 Then
- LabelMb.Text = Math.Round((FI.Length / 1024), 1) & " Kb"
- End If
- If 1099511627776 > FI.Length > 1073741824 Then
- LabelMb.Text = Math.Round((FI.Length / 1073741824), 2) & " Mb"
- End If
- If FI.Length > 1099511627776 Then
- LabelMb.Text = Math.Round((FI.Length / (1.1 * 10 ^ 12)), 2) & " Gb"
- End If
Решение задачи: «Как подсчитать размер файла в байтах, килобайтах, мегабайтах и т.п»
textual
Листинг программы
- Function GetFileSize(ByVal SizeInByte As Long) As String
- If (SizeInByte) < 1024 Then
- GetFileSize = SizeInByte & " Б"
- ElseIf (SizeInByte) < 1024 ^ 2 Then
- GetFileSize = Format(SizeInByte / 1024 ^ 1, "0.00") & " КБ"
- ElseIf (SizeInByte) < 1024 ^ 3 Then
- GetFileSize = Format(SizeInByte / 1024 ^ 2, "0.00") & " МБ"
- ElseIf (SizeInByte) < 1024 ^ 4 Then
- GetFileSize = Format(SizeInByte / 1024 ^ 3, "0.00") & " ГБ"
- ElseIf (SizeInByte) < 1024 ^ 5 Then
- GetFileSize = Format(SizeInByte / 1024 ^ 4, "0.00") & " ТБ"
- End If
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д