什么是“n:0”作为数字表示?

What is "n:0" as a number representation?

提问人:Jay Michael 提问时间:11/10/2023 最后编辑:Jay Michael 更新时间:11/10/2023 访问量:87

问:

我打印了一个值,并得到了.print(v)7:0

我找不到任何对末尾带有冒号零的表示格式的引用。(或带冒号)

我不是在寻求帮助来更改值的显示方式。我正在寻找为什么以这种方式显示此值的解释。它是否表明该值不是整数?是特殊、高精度类型的价值吗?

lua -v -e 'a="2" ; b=1 ; c=a*b ; print( c, type(c), tostring(c) ) ;'
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
2:0 number  2:0

这是 Android 下的 QLua 5.3.5。

Windows 下的 Lua 5.4.2(lua-5.4.2_Win32_bin.zip,可能来自 SourceForge)没有这样做:它只是打印“2”。

lua tostring

评论

0赞 Dan Mašek 11/10/2023
无法重现(Windows 上的 Lua 5.3.4)——它为我打印......看起来它正在打印冒号而不是点作为小数点分隔符。2.0 number 2.0
1赞 Oka 11/10/2023
您当前的语言环境是什么?从终端使用像 locale 这样的程序,或者从 Lua 使用 print(os.setlocale())。
0赞 Jay Michael 11/10/2023
打印(os.setlocale()) --> C.UTF-8
0赞 Jay Michael 11/10/2023
我不认为它试图使用冒号而不是句点作为小数分隔符:在原始程序中,显示“7:0”的同一列也显示“2.333”。
2赞 Luatic 11/10/2023
不幸的是,我们几乎无法调试专有软件。使用QLua而不是在Termux中运行适当的Lua有什么特别的原因吗?

答:

0赞 Jay Michael 11/10/2023 #1

我的问题是:“7:0”作为值至少接近 7 的数字的表示是什么意思?

答案似乎是:这是QLua的一个怪癖。

我在JDoodle尝试了在线解析器

  • 5.3 版本都生成了“2.0”
  • 5.4 版本生成了“2”

如果我追求这一点,我认为它必须与与 QLua 相关的人在一起。