Convert Blob 8 bytes of data (ULONGLONG) to a number

I used a custom function to complete the function, but I found that my function could not convert 8 bytes of data (ULONGLONG) to a number,An overflow error occurs, and I don't know if my 8-byte algorithm is correct

Function BlobToNumber(ByVal BlobValue)
    If DOpus.Typeof(BlobValue) = "object.Blob" Then
        Select Case BlobValue.Size
            Case 1 BlobToNumber = CByte(BlobValue(0))
            Case 2 BlobToNumber = CLng(BlobValue(0) + BlobValue(1) * 2 ^ 8)
            Case 4 BlobToNumber = CLng(BlobValue(0) + BlobValue(1) * 2 ^ 8 + BlobValue(2) * 2 ^ 16 + BlobValue(3) * 2 ^ 24)
			Case 8 BlobToNumber = CLng(BlobValue(0) + BlobValue(1) * 2 ^ 8 + BlobValue(2) * 2 ^ 16 + BlobValue(3) * 2 ^ 24) + CLng(BlobValue(0) + BlobValue(1) * 2 ^ 32 + BlobValue(2) * 2 ^ 40 + BlobValue(3) * 2 ^ 48)
            Case Else BlobToNumber = 0
        End Select
    Else
        BlobToNumber = 0
    End If
End Function

VBScript's normal number type cannot handle numbers that large.

Opus provides a FileSize object which can: https://www.gpsoft.com.au/help/opus12/index.html#!Documents/Scripting/FileSize.htm

Can you tell me what to do? Give an example?

Can you add a Tonumber method to a blob?
For example:
Blob.tonumber (Start,length)
returning a value or FileSize object

Are the numbers you're reading from binary data in little endian or big endian format?

(They could also be stored as floating point, or other formats.)

Where are they coming from, e.g. which file format are you parsing?

We'll add that in the next update.