Objetivos
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
Conversão bool <-> string
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
Histórico de atualizações
- 11/12/2025 - versão inicial: Adição de tonumber, tostring e bool <-> string
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.