Pega quatro valores float no input e coloca somente uma casa decimal

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Pega quatro valores float no input e coloca somente uma casa decimal

Daniel Lucas
Como leio os 4 valores em uma linha sendo eles double e imprimo com só uma casa
a,b,c,d =tonumber(io.read(),10)

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/452abb26-b507-488c-93f3-5bfb982ebdd9n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Pega quatro valores float no input e coloca somente uma casa decimal

Denis Dos Santos Silva
a função io.read() retorna uma string  ( https://www.lua.org/manual/5.3/manual.html#pdf-io.read )

exemplo:
$ lua-5.1 -e ' a = io.read("*l"); print(type(a), a)'
1.1 2.3 3.44444
string  1.1 2.3 3.44444

então levando em consideração que voce iria digitar/informar os numeros "inline" segue abaixo um exemplo
$cat  test.lua
local str;
local tbl = {};
local soma = 0;

print( _VERSION )

io.write('Digite os numeros: ');
str = io.read('*l');

for token in string.gmatch(str, "[^%s]+") do
   print(token);
   soma = tonumber(soma) + tonumber(token);
end

print( 'soma', soma );

--- fim do arquivo ---

$ lua-5.1 test.lua
Lua 5.1
Digite os numeros: 1.1 2.2 .3 3.3
1.1
2.2
.3
3.3
soma    6.9







Em segunda-feira, 28 de dezembro de 2020 às 12:42:02 UTC-3, [hidden email] escreveu:
Como leio os 4 valores em uma linha sendo eles double e imprimo com só uma casa
a,b,c,d =tonumber(io.read(),10)

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/d35d77d6-d7cb-45d4-8e5f-6925518b67e7n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Pega quatro valores float no input e coloca somente uma casa decimal

Daniel Lucas
Eu conseguir usando gmaps e string format , mas obrigado.
Em segunda-feira, 28 de dezembro de 2020 às 13:58:32 UTC-3, Denis Dos Santos Silva escreveu:
a função io.read() retorna uma string  ( https://www.lua.org/manual/5.3/manual.html#pdf-io.read )

exemplo:
$ lua-5.1 -e ' a = io.read("*l"); print(type(a), a)'
1.1 2.3 3.44444
string  1.1 2.3 3.44444

então levando em consideração que voce iria digitar/informar os numeros "inline" segue abaixo um exemplo
$cat  test.lua
local str;
local tbl = {};
local soma = 0;

print( _VERSION )

io.write('Digite os numeros: ');
str = io.read('*l');

for token in string.gmatch(str, "[^%s]+") do
   print(token);
   soma = tonumber(soma) + tonumber(token);
end

print( 'soma', soma );

--- fim do arquivo ---

$ lua-5.1 test.lua
Lua 5.1
Digite os numeros: 1.1 2.2 .3 3.3
1.1
2.2
.3
3.3
soma    6.9







Em segunda-feira, 28 de dezembro de 2020 às 12:42:02 UTC-3, [hidden email] escreveu:
Como leio os 4 valores em uma linha sendo eles double e imprimo com só uma casa
a,b,c,d =tonumber(io.read(),10)

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/ca6a8a78-63bc-4ee3-b130-297165672220n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Pega quatro valores float no input e coloca somente uma casa decimal

Daniel Lucas
function divide(parametro)
linha = {}
n = 0
-- parametro para espaço "*l"
for i in string.gmatch(io.read(parametro), "%S+") do
   n = n + 1
   linha[n] = i
end
return linha
end

Em segunda-feira, 28 de dezembro de 2020 às 14:25:41 UTC-3, Daniel Lucas escreveu:
Eu conseguir usando gmaps e string format , mas obrigado.
Em segunda-feira, 28 de dezembro de 2020 às 13:58:32 UTC-3, Denis Dos Santos Silva escreveu:
a função io.read() retorna uma string  ( https://www.lua.org/manual/5.3/manual.html#pdf-io.read )

exemplo:
$ lua-5.1 -e ' a = io.read("*l"); print(type(a), a)'
1.1 2.3 3.44444
string  1.1 2.3 3.44444

então levando em consideração que voce iria digitar/informar os numeros "inline" segue abaixo um exemplo
$cat  test.lua
local str;
local tbl = {};
local soma = 0;

print( _VERSION )

io.write('Digite os numeros: ');
str = io.read('*l');

for token in string.gmatch(str, "[^%s]+") do
   print(token);
   soma = tonumber(soma) + tonumber(token);
end

print( 'soma', soma );

--- fim do arquivo ---

$ lua-5.1 test.lua
Lua 5.1
Digite os numeros: 1.1 2.2 .3 3.3
1.1
2.2
.3
3.3
soma    6.9







Em segunda-feira, 28 de dezembro de 2020 às 12:42:02 UTC-3, [hidden email] escreveu:
Como leio os 4 valores em uma linha sendo eles double e imprimo com só uma casa
a,b,c,d =tonumber(io.read(),10)

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/e92bfb86-1c08-481f-a421-6aebeb4a2308n%40googlegroups.com.