lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> First, here are some bits from the manual:
> 
> Coercions and Conversions http://www.lua.org/manual/5.3/manual.html#3.4.3
> [...], the string is converted to an integer or a float, following its
> syntax and the rules of the Lua lexer.

Read the rest of that paragraph:

  Then, the resulting number is converted to the required type (float or
  integer) according to the previous rules.

So, you have to know what is "the required type". In the case of addition,
see 3.4.1 – Arithmetic Operators:

  With the exception of exponentiation and float division, the
  arithmetic operators work as follows: If both operands are integers,
  the operation is performed over integers and the result is an
  integer. Otherwise, if both operands are numbers or strings that
  can be converted to numbers (see §3.4.3), then they are converted
  to floats, the operation is performed following the usual rules for
  floating-point arithmetic (usually the IEEE 754 standard), and the
  result is a float.

That is, "the required type" is float in that case.

-- Roberto