﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
3760	Number() bug with oversized integer values	jchd18	Jon	"Number($s) erroneously converts values outside [MinInt64, MaxInt64] to MinInt64 or MaxInt64.

MinInt64 = -9223372036854775808
MaxInt64 =  9223372036854775807

Example:
{{{
Number(""22222222222222222222222222222222"")  ; returns 9223372036854775807
}}}

Workaround version returning a FP values in such case:
{{{
Func _Number($s)
	Local $a = StringRegExp($s, ""^([-+]?)0*(\d+)$"", 1)
	If Not @error Then
		Local $l = StringLen($a[1])
		; in case the int is oversized
		If $l > 19 Or ($a[0] <> ""-"" And $a[1] > ""9223372036854775807"") Or ($a[0] = ""-"" And $a[1] > ""9223372036854775808"") Then Return Number($s & "".0"")
	EndIf
	Return Number($s)
EndFunc
}}}"	Bug	closed	3.3.15.5	AutoIt	3.3.14.5	None	Fixed		
