VBScript 怎么格式化文件大小?

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.GetFile(document.FullName)
nSize = oFile.Size

我得到了文件的大小,我想将这个数字转换成 xx kb mb gb 这种格式化的,请问代码怎么应该怎么写

阅读 1.3k
1 个回答

这这这???
oFile.Size 输出是字节大小
1B(byte,字节)= 8 bit(见下文);

1KiB(Kibibyte,千字节)=1024B= 2^10 B;

1MiB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;

1GiB(Gibibyte,吉字节,十亿字节,又称“千兆”)=1024MB= 2^30 B

Function ConvertSize(byteSize) 
    dim Size
    Size = byteSize
    
    Do While InStr(Size,",") 'Remove commas from size 
        CommaLocate = InStr(Size,",") 
        Size = Mid(Size,1,CommaLocate - 1) & _ 
        Mid(Size,CommaLocate + 1,Len(Size) - CommaLocate) 
    Loop
    
    Suffix = " Bytes" 
    If Size >= 1024 Then suffix = " KB" 
    If Size >= 1048576 Then suffix = " MB" 
    If Size >= 1073741824 Then suffix = " GB" 
    If Size >= 1099511627776 Then suffix = " TB" 
    
    Select Case Suffix 
        Case " KB" Size = Round(Size / 1024, 1) 
        Case " MB" Size = Round(Size / 1048576, 1) 
        Case " GB" Size = Round(Size / 1073741824, 1) 
        Case " TB" Size = Round(Size / 1099511627776, 1) 
    End Select
    
    ConvertSize = Size & Suffix 
End Function
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进