Как подсчитать размер файла в байтах, килобайтах, мегабайтах и т.п - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Итак, в форме программы должен выводится размер файла в зависимости от которого, показатель будет измеряться в b, Kb, Mb, Gb. Возникли некоторые сложности в подсчете, ведь функция IO.FileInfo.Length выводит размер в байтах. Возникла мысль сделать через If:
Листинг программы
  1. If FI.Length < 1024 Then
  2. LabelMb.Text = Math.Round(FI.Length, 1) & " b"
  3. End If
  4. If 1073741824 > FI.Length > 1024 Then
  5. LabelMb.Text = Math.Round((FI.Length / 1024), 1) & " Kb"
  6. End If
  7. If 1099511627776 > FI.Length > 1073741824 Then
  8. LabelMb.Text = Math.Round((FI.Length / 1073741824), 2) & " Mb"
  9. End If
  10. If FI.Length > 1099511627776 Then
  11. LabelMb.Text = Math.Round((FI.Length / (1.1 * 10 ^ 12)), 2) & " Gb"
  12. End If
Но не покатило(

Решение задачи: «Как подсчитать размер файла в байтах, килобайтах, мегабайтах и т.п»

textual
Листинг программы
  1.     Function GetFileSize(ByVal SizeInByte As Long) As String
  2.  
  3.         If (SizeInByte) < 1024 Then
  4.             GetFileSize = SizeInByte & " Б"
  5.         ElseIf (SizeInByte) < 1024 ^ 2 Then
  6.             GetFileSize = Format(SizeInByte / 1024 ^ 1, "0.00") & " КБ"
  7.         ElseIf (SizeInByte) < 1024 ^ 3 Then
  8.             GetFileSize = Format(SizeInByte / 1024 ^ 2, "0.00") & " МБ"
  9.         ElseIf (SizeInByte) < 1024 ^ 4 Then
  10.             GetFileSize = Format(SizeInByte / 1024 ^ 3, "0.00") & " ГБ"
  11.         ElseIf (SizeInByte) < 1024 ^ 5 Then
  12.             GetFileSize = Format(SizeInByte / 1024 ^ 4, "0.00") & " ТБ"
  13.         End If
  14.  
  15.     End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы