Angelo Pereira Posted January 11, 2020 Posted January 11, 2020 (edited) Olá Pessoal, Bom, eu tentei, retentei e infelizmente não consegui fazer, tentando utilizar string.formart e outros para encurtar um determinado número com pontos(.) Exemplo[1]: 2.4566775 Exemplo[2]: 134.34566666 O que eu quero fazer? É Encurtar a partir da terceira casa depois do ponto(.) todos números, ou seja... no Exemplo[1] dado ficaria assim : 2.456 no Exemplo[2] dado ficaria assim : 134.345 Alguém me da uma luz? Eu estou tentando encurtar os números obtidos pela divisão de kill/mortes. -- Apenas Para Demostração! local kill = getElementData(source, "Kills") or 0 local mortes = getElementData(source, "Deaths") or 0 local valor = tonumber(kill/mortes) -- K/D ou seja divide o valor de quantidade de kill por mortes. (Onde deixa um número muito extenso). Tentativas utilizando String: string.gsub(valor, "^%(.)%03d", '' ) string.gsub(valor, "^%d[.]%03d", '') math.round(valor, 3) Eu, pessoalmente digo que eu não sei usa string, apenas tentei, depois de 4 dias tentando de várias formas, mas o resultado era sempre o mesmo! Edited January 12, 2020 by Angelo Pereira
Other Languages Moderators Lord Henry Posted January 12, 2020 Other Languages Moderators Posted January 12, 2020 (edited) function math.round(number, decimals, method) decimals = decimals or 0 local factor = 10 ^ decimals if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor else return tonumber(("%."..decimals.."f"):format(number)) end end ratio = 3.524923 -- Valor qualquer só pra testar. function qualquerCoisa (cmd) outputChatBox (math.round (ratio, 3, "floor"), 255, 255, 0) -- Manda no chat o número com somente 3 decimais. end addCommandHandler ("ratio", qualquerCoisa) Client-side Edited January 12, 2020 by Lord Henry 1
main Posted January 12, 2020 Posted January 12, 2020 Tente isto: -- func para arredondar os numeros, encontrada em: Lua-users.org/wiki/SimpleRound function round2(num, numDecimalPlaces) return tonumber(string.format("%." .. (numDecimalPlaces or 0) .. "f", num)) end local kill = getElementData(source, "Kills") or 0 local mortes = getElementData(source, "Deaths") or 0 local kdr = round2(kill/mortes, 3) 1
Angelo Pereira Posted January 12, 2020 Author Posted January 12, 2020 Muito Obrigado @Lord Henry & @MainSCR !
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now