Ir para conteúdo

Putkks(Value)


Oneshot

Posts Recomendados

Como eu não tinha nada pra fazer, fiz essa inútil função abaixo:

 

function putkks(value)
local e = 0
for _ in tostring(value):gmatch("000") do
	e = e + 1
end

local n = value / 1000^e
for i = 1, e do n = n .."k" end
return n
end

 

Creio que não tem nenhuma utilidade, ela simplesmente faz isso:

 

1000000 -> 1kk

 

Ela abrevia um grande número na gíria de jogos de RPG.

Link para o comentário
Compartilhar em outros sites

não não, até é boa, de vez de colocar para chamar por exemplo

 

local cost = 1000000
msg("precisa de "..cost.." gps")

 

usando a sua função os noob entendem rsrsrs

boa

Link para o comentário
Compartilhar em outros sites

vish, seu code pode ser bem simplificado, usando string.gsub

function putkks(value)
   str, _ = tostring(value):gsub("000", "k")
   return str
end

Editado por dalvorsn
Link para o comentário
Compartilhar em outros sites

HA!

 

Acho que alguém caiu na minha armadilha :)

 

Você me garante que os "k" serão colocados de trás para frente, Dalvo? E não acontecerá isso:

 

10000000 -> 1kk0

 

Eu já tentei a string.gsub.

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

function putkks(value)
   str, n = tostring(value):reverse():gsub("000", "k"):reverse()
   return str
end

Pulo do gato riarai

nem tinha me atentado a esse detalhe, e nem sabia que tu era o garou '-'

pq mudo de nick mano?

Link para o comentário
Compartilhar em outros sites

Nao esperava mesmo de voce OneShot

 

A funçao e legal neste modo pode ate parecer "inutil" mais representada em outra funçao ela poder muito ultil.

 

 

Rep+

Link para o comentário
Compartilhar em outros sites

so esqueceram de uma coisa 10005000 esse tipo de coisa ficaria cunfuso

no do oneshot = 10.005kk no do dalvo = 1k5k

 

bom to com preguisa de pensa em tão vai da primeira forma que pensa(mais tosco),usando como base o do oneshot

 

function putkks(value)
local e = 0
	 k = tostring(value)
for i = 1, string.len(k),3 do
	  if k:reverse():sub(i,i+2) == "000" then
	   e = e+1
	   else
	   break
	 end
end

local n = value / 1000^e
for i = 1, e do n = n .."k" end
return n
end

Editado por lordbug99
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...