Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Função: tonumber
  2. Função: tostring
  3. Conversão bool <-> string
  4. array char <-> string
  5. number -> string binária

Nesta parte do tutorial Lua vamos aprender a converter dados numéricos entre os tipos de dados string e number fazendo uso das funções nativas tonumber e tostring.

A conversão de valor numérico/binário ou booleano contidos em string é feita utilizando a função tonumber que recebe uma string contendo um valor numérico e também a base numérica para conversão.

Sintaxe
tonumber(valor_string, base_numerica)
Onde
base_numerica: 
2 binário
16 hexadecimal
10 decimal
Retorno
Number contendo valor convertido
nil se não for possível converter valor
Exemplo 1
print(tonumber("1.99")) --float
print(tonumber("0xFF"))  
print(tonumber("FF",16)) --hexa
print(tonumber("1")) --int
print(tonumber("10101010",2)) --AAh
Saída
1.99
255
255
1
170

Para a conversão de dado numérico e/ou booleano para string, Lua fornece a função tostring que recebe uma valor numérico como argumento para a conversão.

Sintaxe
tostring(valor_string)
Exemplo 2
print(tostring(1.99)) --float
print(tostring(0xFF)) --hexa
print(tostring(1)) --int decimal
print(tostring(false))
print(tostring(true))
Saída
1.99
255
1
false
true

Lua não fornece uma função nativa para conversão do tipo booleano para string e vice-versa. Essa conversão pode ser feita fazendo uso do comando if-else ou simulando o comando if ternário.

Exemplo 3
local flag = true

res = flag == true and "true" or "false"
print(res, type(res))

flag = "false"
res = (string.lower(flag)) == "true" and true or false
print(res, type(res))
Saída
true	string
false	boolean
  1. 11/12/2025 - versão inicial: Adição de tonumber, tostring e bool <-> string