如何在Lua 5.2.3中将lua_number从double改为float

时间:2014-01-24 15:29:09

标签: c++ lua

我希望lua_number获得一个浮点而不是一个double。我知道我必须在luaconf.h中改变一些东西,但我不知道是什么。我正在使用Lua 5.2.3和Visual Studio C ++。

2 个答案:

答案 0 :(得分:11)

您需要修改luaconf.h并更改这些内容:

  • LUA_NUMBERfloat
  • LUA_NUMBER_SCAN"%f"
  • LUA_NUMBER_FMT"%.7g"
  • l_mathop(x)(x##f)
  • lua_str2number使用strtof

对于最后两个,您可能需要一个支持(某些)C99标准的C编译器。

答案 1 :(得分:2)

在luaconf.h

/*
** {==================================================================
@@ LUA_NUMBER is the type of numbers in Lua.
** CHANGE the following definitions only if you want to build Lua
** with a number type different from double. You may also need to
** change lua_number2int & lua_number2integer.
** ===================================================================
*/

#define LUA_NUMBER_DOUBLE
#define LUA_NUMBER  double

这实际上是Lua 5.1 luaconf,但5.2 conf应该是相似的。