QLua 5.3.5中`x:0`格式数值输出的原因咨询
Lua中
x:0格式数值输出的原因分析 - 这种
x:0的格式不是Lua标准的数值表示方式,和Lua的数值类型本身没有关系。 - 你测试里
type(c)返回number,说明该值底层仍是Lua标准的双精度浮点数类型(Lua 5.3及之后的number统一为双精度,整数和浮点数共用该类型),既不是特殊高精度类型,也不是所谓“非严格整数”的标准标识。 - 这个现象是Android平台QLua 5.3.5这个特定实现的自定义修改导致的:QLua大概率重写了
tostring函数或数值输出逻辑,把浮点数的整数部分和小数部分用冒号分隔显示(比如2.0被格式化为2:0,你可以测试c=2.5,大概率会输出2:5来验证)。 - Windows平台的Lua 5.4.2是官方标准实现,遵循Lua原生的
tostring逻辑:当数值是整数形式的浮点数时,会自动简化显示为整数(比如2.0直接显示为2),因此不会出现这个特殊格式。
内容的提问来源于stack exchange,提问作者Jay Michael
相关产品推荐
相关产品推荐

