Hej. Denna funktion kanske funkar? CInt(värde) har ju en 16 bitars begränsning... Du kan ju använda följande funktion: Tack för svaren jag fick:=) Har löst det nu på det här viset:Funktion för att omvandla bytes till kb/ mb / gb
I min databas så har jag en kolum som innefattar filstorlekar i bytes. Jag undrar hur man skulle kunna göra en funktion som omvandlar dessa till kb / mb / gb beroende på hur stora dom är.. ex om en fil är under 1 Mb så anges storleken i kb. Om den är över 1mb så anges den i mb och slutligen om den är över 1000Mb så anges den i Gb.
Nu har jag bara gjort så att jag lagt in \ 1048576, för att få ut värdet i mb, och det fungerar bra upp till storlekar på ca 2Gb. men sen får man ett ASP error som ser ut såhär:
ERROR: Microsoft VBScript runtime error '800a0006' Overflow: 'cINT'
REASON:cINT limitation causes this error. The range of numbers that cINT can convert is between -32,768 to 32,767
SOLUTION:Use INT() if possible
Mvh / HenrikSv: Funktion för att omvandla bytes till kb/ mb / gb
<code>
function getFileSize(noofbytes, format)
'format = 0 = bytes
'format = 1 = kilobytes
'format = 2 = megabytes
'format = 3 = gigabytes
'format = 4 = terabytes
getFileSize = cdbl(noofbytes / (1024^format))
end function
</code>Sv: Funktion för att omvandla bytes till kb/ mb / gb
använd CLng(värde) så skall du inte få det problemet...Sv: Funktion för att omvandla bytes till kb/ mb / gb
<code>
Function FormatFileSize(Size)
If Size < 1024 Then
FormatFileSize = Size & " Bytes"
ElseIf Size < 1048576 Then
FormatFileSize = Int(Size / 1024) & " KBytes"
ElseIf Size < 1073741824 Then
FormatFileSize = Int(Size / 1048576) & " MBytes"
ElseIf Size < 1099511627776@ Then
FormatFileSize = Int(Size / 1073741824) & " GBytes"
Else
FormatFileSize = Int(Size / 1099511627776@) & " TBytes"
End If
End Function
</code>
Är skriven i VB. Vet inte om det fungerar i APS. Du måste nog i alla fall ta bort @, som är datatyp tecknet för datatypen currency.Sv: Funktion för att omvandla bytes till kb/ mb / gb
<%
function getFileSize(size)
if size < 1073741824 then
getFileSize = Round(size / (1024^2))
else
getFileSize = Round(size / (1024^3),2)
end if
end function
function getPrefix(pref)
if pref < 1073741824 then
getPrefix = "MB"
else
getPrefix = "GB"
end if
end function
Mvh / Henrik L