2

有人知道如何使用 lua 从文本文件中解析科学数字吗?

示例文本文件:

0.2 0.5 0.15 5.32E-05 0.5

0.2 6.32E-08 0.5

我在相关主题中找到了如何获取数字(如下),但使用该代码,它会将“5.32E-05”视为:5.32 和 -0.5。

local tt = {}
for line in io.lines(filename) do
local t = {}
for num in line:gmatch'[-.%d]+' do
  table.insert(t, tonumber(num))
end
if #t > 0 then
  table.insert(tt, t)
end
end

有人能帮我吗?

4

1 回答 1

4

*n如果您确定您正在阅读数字,则可以使用阅读模式。

如果您像示例代码中那样逐行读取文件,则使用 提取该行中的单词%S+并将它们转换为带有tonumber.

底线:将繁重的解析留给tonumber.

于 2013-08-01T19:13:26.380 回答