Skip to content

Commit 33c976b

Browse files
committed
Issue #491 : Add a condition to check to parseFloat or parseInt
1 parent 2348fd0 commit 33c976b

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

_lua5.1-tests/math.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ assert(tonumber(string.rep('1', 32), 2) + 1 == 2^32)
5252
assert(tonumber('-fffffFFFFF', 16)-1 == -2^40)
5353
assert(tonumber('ffffFFFF', 16)+1 == 2^32)
5454
assert(tonumber('0xF') == 15)
55+
assert(tonumber('5e-07') == 0.0000005)
5556

5657
assert(1.1 == 1.+.1)
5758
print(100.0, 1E2, .01)

baselib.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ func baseToNumber(L *LState) int {
410410
L.Push(lv)
411411
case LString:
412412
str := strings.Trim(string(lv), " \n\t")
413-
if strings.Index(str, ".") > -1 {
413+
if strings.Contains(str, ".") || strings.Contains(str, "e-") {
414414
if v, err := strconv.ParseFloat(str, LNumberBit); err != nil {
415415
L.Push(LNil)
416416
} else {

0 commit comments

Comments
 (0)