To me, "actual numbers" means the number data type. tonumber()
does quite well with scientific notation.
local myString = [[ 1.000000000000000E+00,
2.000000000000000E+02, -1.000000000000000E+05 ]]
local function convert(csv)
local list = {}
for value in (csv .. ","):gmatch("(%S+)%W*,") do table.insert(list,tonumber(value)) end
return unpack(list)
end
print(convert(myString))