gpt4 book ai didi

c - Lua - 数字到字符串的行为

转载 作者:太空狗 更新时间:2023-10-29 16:42:49 25 4
gpt4 key购买 nike

我想知道 Lua 如何使用 tostring() 函数处理数字到字符串的转换。

如果数字是圆的(即如果 number == (int) number),它将转换为一个 int(作为字符串),或者它总是输出一个实数(作为字符串) 像 10.0 吗?

我需要在 C 中模仿 Lua 的 tostring 的确切行为,而不使用 Lua C API,因为在这种情况下,我没有使用 lua_State

最佳答案

在 Lua 5.2 或更早版本中,tostring(10) 都是和 tostring(10.0)结果为字符串 "10" .

在 Lua 5.3 中,这已经改变了:

print(tostring(10)) -- "10"
print(tostring(10.0)) -- "10.0"

那是因为 Lua 5.3 引入了整数子类型。来自 Changes in the Language :

The conversion of a float to a string now adds a .0 suffix to the result if it looks like an integer. (For instance, the float 2.0 will be printed as 2.0, not as 2.) You should always use an explicit format when you need a specific format for numbers.

关于c - Lua - 数字到字符串的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36031078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com