Code: Select all
VarSetCapacity(MyArray, 10240000)
VarSetCapacity(MyVar, 10240000)
MyArray := []
MyVar := 10
MyArray[0] := MyVar + 33300000000000000000
MsgBox % MyArray[0] ;;; returns -9223372036854775799
Code: Select all
VarSetCapacity(MyArray, 10240000)
VarSetCapacity(MyVar, 10240000)
MyArray := []
MyVar := 10
MyArray[0] := MyVar + 33300000000000000000
MsgBox % MyArray[0] ;;; returns -9223372036854775799
If you don't want to do maths with it, try storing them as strings (via quotation marks)...Commands, functions, and expressions that accept numeric inputs generally support 15 digits of precision for floating point values. For integers, 64-bit signed values are supported, which range from -9223372036854775808 (-0x8000000000000000) to 9223372036854775807 (0x7FFFFFFFFFFFFFFF). Any integer constants outside this range are not supported and might yield inconsistent results. By contrast, arithmetic operations on integers wrap around upon overflow (e.g. 0x7FFFFFFFFFFFFFFF + 1 = -0x8000000000000000).