刚刚注意到字符串() and tonumber()在 Lua 中是依赖于语言环境的。知道如何在不使用的情况下将字符串转换为数字tonumber()?谢谢。
例如将字符串 "-58.5" 转换为 -58.5
另外,当我尝试将带点的数字传递给函数时,该函数会转换“.”。自动改为“,”。您通常如何解决此类问题?
功能测试(编号)
打印(数字)
结尾
test(-58.5) -- 它打印 -58,5
你的结果test
函数本身与语言环境相关。 (在我的机器上,使用默认设置,我得到的结果是-58.5
因为我的语言环境是en_US.UTF-8
.)
您应该能够通过以下方式设置区域设置os.setlocale http://www.lua.org/manual/5.3/manual.html#pdf-os.setlocale。这可能比自己编写更简单tonumber
功能。
例如:
local function nshow(n) print(n) end
local n = -58.5
print(os.setlocale("de_DE.UTF-8"))
nshow(n)
print(os.setlocale("C"))
nshow(n)
Output:
de_DE.UTF-8
-58,5
C
-58.5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)