Ir para conteúdo

Formatacao De Moedas


lailton

Posts Recomendados

Galera,

 

Alguem teria ou poderia fazer uma funcao para tratamento dos valores, tipo:

 

toMoney( 1 ) = 1c

toMoney( 10 ) = 10c

toMoney( 100 ) = 1,00

toMoney( 101 ) = 1,01

toMoney( 110 ) = 1,10

toMoney( 199 ) = 1,99

toMoney( 1099 ) = 10,99

toMoney( 200100 ) = 2.001,00

 

 

 

vlw

Link para o comentário
Compartilhar em outros sites

function moneyToCurrency(value)
local ret = {c = 0, p = 0, g = 0}
ret.c = math.floor(value/10000)
ret.p = math.floor((value - ret.c * 10000)/100)
ret.g = (value - 100 * (ret.c * 100 + ret.p))
return ret
end

 

Exemplo de uso:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local tabela = moneyToCurrency(getPlayerMoney(cid))
local s = tabela.c .. " crystal ".. tabela.p .." platinum and ".. tabela.g .." gold."
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, s)
end

 

14:21 63 crystal 52 platinum and 84 gold.

 

A função pega o valor no parâmetro e o converte para três números inteiros que são inseridos em uma tabela (retornada pela função) com indexes c, p e g.

 

Quando você quiser formatar uma quantidade de dinheiro, basta fazer isso:

 

moneyToCurrency(10586)

 

Se eu quiser o valor de crystal coins correspondentes e aproximado, irei acessar o index c

 

moneyToCurrency(10586).c

 

Isso por exemplo, iria me mostrar o habitual 1 que equivale a 10000 de dinheiro. Acessar os outros dois indexes iriam me retornar 5 e 86, respectivamente

Editado por Oneshot
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...