I was hoping to use the VAL function in a script but I noticed it started giving incorrect values when it got to the 10th char. The same type of errors occur with ABS & INT. I was wondering if there's a possible fix or work around. I'm including a sample script to demonstrate issue.

$one = 9
$two = 98
$three = 987
$four = 9876
$five = 98765
$six = 987654
$seven = 9876543
$eight = 98765432
$nine = 987654321
$ten = 9876543210
$eleven = 98765432109
$twelve = 987654321098
$thirteen = 9876543210987
$fourteen = 98765432109876
$fifteen = 987654321098765
$sixteen = 9876543210987654

$valone = VAL("$one")
$valtwo = VAL("$two")
$valthree = VAL("$three")
$valfour = VAL("$four")
$valfive = VAL("$five")
$valsix = VAL("$six")
$valseven = VAL("$seven")
$valeight = VAL("$eight")
$valnine = VAL("$nine")
$valten = VAL("$ten")
$valeleven = VAL("$eleven")
$valtwelve = VAL("$twelve")
$valthirteen = VAL("$thirteen")
$valfourteen = VAL("$fourteen")
$valfifteen = VAL("$fifteen")
$valsixteen = VAL("$sixteen")

? "valeone = $valone"
? "valtwo = $valtwo"
? "valthree = $valthree"
? "valfour = $valfour"
? "valfive = $valfive"
? "valsix = $valsix"
? "valseven = $valseven"
? "valeight = $valeight"
? "valnine = $valnine"
? "valten = $valten"
? "valeleven = $valeleven"
? "valtwelve = $valtwelve"
? "valthirteen = $valthirteen"
? "valfourteen = $valfourteen"
? "valfifteen = $valfifteen"
? "valsixteen = $valsixteen"