programming-examples/asp/FilesMaths/Convert Bytes.asp

50 lines
1.6 KiB
Plaintext
Raw Normal View History

2019-11-18 14:25:58 +01:00
<%
Function ConvertBytes(ByRef anBytes)
Dim lnSize ' File Size To be returned
Dim lsType ' Type of measurement (Bytes, KB, MB, GB, TB)
Const lnBYTE = 1
Const lnKILO = 1024 ' 2^10
Const lnMEGA = 1048576 ' 2^20
Const lnGIGA = 1073741824 ' 2^30
Const lnTERA = 1099511627776 ' 2^40
' Const lnPETA = 1.12589990684262E+15 ' 2^50
' Const lnEXA = 1.15292150460685E+18 ' 2^60
' Const lnZETTA = 1.18059162071741E+21 ' 2^70
' Const lnYOTTA = 1.20892581961463E+24 ' 2^80
If anBytes = "" Or Not IsNumeric(anBytes) Then Exit Function
If anBytes < 0 Then Exit Function
' If anBytes < lnKILO Then
' ' ByteConversion
' lnSize = anBytes
' lsType = "bytes"
' Else
If anBytes < lnMEGA Then
' KiloByte Conversion
lnSize = (anBytes / lnKILO)
lsType = "kb"
ElseIf anBytes < lnGIGA Then
' MegaByte Conversion
lnSize = (anBytes / lnMEGA)
lsType = "mb"
ElseIf anBytes < lnTERA Then
' GigaByte Conversion
lnSize = (anBytes / lnGIGA)
lsType = "gb"
Else
' TeraByte Conversion
lnSize = (anBytes / lnTERA)
lsType = "tb"
End If
' End If
' Remove fraction
'lnSize = CLng(lnSize)
lnSize = FormatNumber(lnSize, 2, True, False, True)
' Return the results
ConvertBytes = lnSize & " " & lsType
End Function
%>