lailton 0 Postado Novembro 25, 2011 Share Postado Novembro 25, 2011 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 More sharing options...
Oneshot 732 Postado Novembro 25, 2011 Share Postado Novembro 25, 2011 (editado) 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 Novembro 25, 2011 por Oneshot Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados