将KB转换为MB?

lar*_*400 4 vb.net

请查看此帖的底部,以便更新.

我有以下代码搜索目录并显示目录中的最大文件.问题是它以KB格式显示 - 我究竟如何将其转换为MB?文件大小太大,所以想要更容易阅读 - 感谢您的帮助:

Private Sub btnGetMax_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetMax.Click
    ClearList()

    Dim dblSize As Integer = 0
    Dim dblMax As Integer = 0
    Dim strMax As String = ""

    Dim objFileInfo As System.IO.FileInfo

    For Each strFile As String In My.Computer.FileSystem.GetFiles("c:\temp", FileIO.SearchOption.SearchAllSubDirectories)

        objFileInfo = My.Computer.FileSystem.GetFileInfo(strFile)
        /*whats the size of the files?*/
        dblSize = objFileInfo.Length

        If dblSize > dblMax Then
            dblMax = dblSize
            strMax = objFileInfo.FullName
        End If
    Next

    MessageBox.Show("Largest file in .Net folder is " & vbCrLf &
                    strMax & vbCrLf &
                    dblMax.ToString("N0"))
End Sub
Run Code Online (Sandbox Code Playgroud)

应该让我自己更清楚!我知道如何将KB转换为MB但不知道我如何将其纳入我的代码 - 我是否为STRMAX添加了另一个变量/1024..EXCEPT我已经有了STRMAX VARIABLE ......仍然是非常多的初学者GUYS.

我知道如何将KB转换为MB - 问题是如何将其合并到我的代码中?我是否添加了另一个变量

小智 5

(抱歉,上一个回答是1024,错误的假设)

关于从kB转换为MB的问题,您可以通过SI标准来确定:

1 MB = 1000 kB
Run Code Online (Sandbox Code Playgroud)

因此,除以1000.

对于不相信的,我鼓励你阅读这篇文章.

由于Microsoft Windows等软件以1024字节的倍数表示存储量,因此请将代码更改为:

  dblMax = dblMax/(1024*1024)  

  MessageBox.Show("Largest file in .Net folder is " & vbCrLf &
  strMax & vbCrLf &
  dblMax.ToString("N0"))
Run Code Online (Sandbox Code Playgroud)

(因为您正在打印dblMax并且您的文件大小以字节为单位,而不是KB)