Plugins ConvertNumbersToLetters al estilo Dipro

Plugins y todo lo relacionado para Autoplay Media Studio.
Espero este aporte sea de mucha utilidad , ojo no es de mi propiedad...créditos al gran Dipro...espero si alguien lo necesite le pueda servir.

Enlace en Mega:
HIDE: ON
Hidebb Message Hidden Description


Clave del Cifrado:
HIDE: ON
Hidebb Message Hidden Description

Imagen
Imagen
another Dipro's Plugin :lol:
tnks dude
https://pt.wikipedia.org/wiki/M%C3%B3du ... %A7%C3%A3o


local p = {}

-- unidades com flexão de gênero masculina
local unidades = {
	[1] = 'um',
	[2] = 'dois',
	[3] = 'três',
	[4] = 'quatro',
	[5] = 'cinco',
	[6] = 'seis',
	[7] = 'sete',
	[8] = 'oito',
	[9] = 'nove'
}

-- unidades com flexão de gênero feminina
local unidades_f = {
	[1] = 'uma',
	[2] = 'duas',
	[3] = 'três',
	[4] = 'quatro',
	[5] = 'cinco',
	[6] = 'seis',
	[7] = 'sete',
	[8] = 'oito',
	[9] = 'nove'
}

-- dezenas estritamente menores que vinte
local dezenas10a19 = {
	[0] = 'dez',
	[1] = 'onze',
	[2] = 'doze',
	[3] = 'treze',
	[4] = 'quatorze',
	[5] = 'quinze',
	[6] = 'dezesseis',
	[7] = 'dezessete',
	[8] = 'dezoito',
	[9] = 'dezenove'
}

-- dezenas maiores que vinte, são complementadas com " e <unidade>" quando não são inteiramente divisíveis por 10
local dezenas = {
	[2] = 'vinte',
	[3] = 'trinta',
	[4] = 'quarenta',
	[5] = 'cinquenta',
	[6] = 'sessenta',
	[7] = 'setenta',
	[8] = 'oitenta',
	[9] = 'noventa'
}

-- centenas com flexão de gênero masculina. A centena 100 é tratada separadamente.
local centenas = {
	[1] = 'cento',
	[2] = 'duzentos',
	[3] = 'trezentos',
	[4] = 'quatrocentos',
	[5] = 'quinhentos',
	[6] = 'seiscentos',
	[7] = 'setecentos',
	[8] = 'oitocentos',
	[9] = 'novecentos',
}

-- unidades com flexão de gênero feminina
local centenas_f = {
	[1] = 'cento',
	[2] = 'duzentas',
	[3] = 'trezentas',
	[4] = 'quatrocentas',
	[5] = 'quinhentas',
	[6] = 'seiscentas',
	[7] = 'setecentas',
	[8] = 'oitocentas',
	[9] = 'novecentas',
}

-- unidade recebe um valor entre 1 e 9 e devolve o nome desse número
local unidade = function(valor, genero)
	local valor = tonumber(valor)
	if valor == 0 then
		return ''
	else
		if genero == 'f' then
			return unidades_f[valor]
		else
			return unidades[valor]
		end
	end
end

-- dezena recebe um valor entre 1 e 99 e devolve o nome desse número de acordo
-- com o caso em que ele se encaixa
local dezena = function(valor, genero)
	local valor = tonumber(valor)
	if valor == 0 then
		return ''
	elseif valor < 10 then					-- valor = {1,2,3,4,5,6,7,8,9}
		return unidade(valor, genero)
	elseif math.floor(valor/10) == 1 then	-- valor = {10,11,12,13,14,15,16,17,18,19}
		return dezenas10a19[valor%10]
	elseif valor%10 == 0 then				-- valor = {20,30,40,50,60,70,80,90}
		return dezenas[valor/10]
	else									-- valor = {21,22,...,29,31,32,...,98,99}
		return dezenas[math.floor(valor/10)] .. ' e ' .. unidade(valor%10, genero)
	end
end

-- centena recebe um valor entre 1 e 999 e devolve o nome desse número de acordo
-- com o caso em que ele se encaixa
local centena = function(valor, genero)
	local valor = tonumber(valor)
	if valor == 0 then
		return ''
	elseif valor < 100 then					-- valor = {1,2,3,...,97,98,99}
		return ' e ' .. dezena(valor, genero)
	elseif valor == 100 then				-- valor = 100
		return 'cem'
	elseif valor%100 == 0 then				-- valor = {200,300,400,...,800,900}
		if genero == 'f' then
			return centenas_f[valor/100]
		else
			return centenas[valor/100]
		end
	else									-- valor = {201,202,...,299,301,...,998,999}
		if genero == 'f' then
			return centenas_f[math.floor(valor/100)] .. ' e ' .. dezena(valor%100, genero)
		else
			return centenas[math.floor(valor/100)] .. ' e ' .. dezena(valor%100, genero)
		end
	end
end

-- units representa a escala da centena|dezena|unidade tratada.
-- x representa a escala no singular e 2x representa a escala no plural
local units = {
	[1] = '',
	[2] = '',
	[10] = '',
	[20] = '',
	[100] = '',
	[200] = '', -- até 999, os valores não possuem escala com nomenclatura
	[1000] = 'mil',
	[2000] = 'mil',
	[10000] = 'mil',
	[20000] = 'mil',
	[100000] = 'mil',
	[200000] = 'mil', -- todos os valores de 1.000 a 999.999 têm a mesma nomenclatura para a escala
	[1000000] = 'um milhão', -- nomenclatura da escala para valores de 1.000.000 a 1.999.999
	[2000000] = 'milhões',
	[10000000] = 'milhões',
	[20000000] = 'milhões',
	[100000000] = 'milhões',
	[200000000] = 'milhões', -- todos os números de 2.000.000 a 999.999.999 têm a mesma nomenclatura para a escala
	[1000000000] = 'um bilhão', -- nomenclatura da escala para valores de 1.000.000.000 a 1.999.999.999
	[2000000000] = 'bilhões',
	[10000000000] = 'bilhões',
	[20000000000] = 'bilhões',
	[100000000000] = 'bilhões',
	[200000000000] = 'bilhões', -- todos os números de 2.000.000.000 a 999.999.999.999 têm a mesma nomenclatura para a escala
	[1000000000000] = 'um trilhão', -- nomenclatura da escala para valores de 1.000.000.000.000 a 1.999.999.999.999
	[2000000000000] = 'trilhões',
	[10000000000000] = 'trilhões',
	[20000000000000] = 'trilhões',
	[100000000000000] = 'trilhões',
	[200000000000000] = 'trilhões' -- todos os números de 2.000.000.000.000 a 999.999.999.999.999 têm a mesma nomenclatura para a escala
}

-- _unidade recebe um valor, a flexão de gênero de escolha e uma base para resgatar a escala do valor
-- e devolve o nome do número. Serve para as ''unidades'' de qualquer escala registrada.
local _unidade = function(valor, genero, base)
	local valor = tonumber(valor)
	local base = tonumber(base)
	if valor == 0 then
		return ''
	elseif valor < base then
		return 
	elseif valor == base then
		return units[base]
	elseif math.floor(valor/base) == 1 then
		return
	else
		return unidade(math.floor(valor/base), genero)
	end
end

-- _dezena recebe um valor, a flexão de gênero de escolha e uma base para resgatar a escala do valor
-- e devolve o nome do número. Serve para as ''dezenas'' de qualquer escala registrada.
local _dezena = function(valor, genero, base)
	local valor = tonumber(valor)
	local base = tonumber(base)
	if valor == 0 then
		return ''
	elseif valor < base then
		return 
	elseif (valor%(base/10)) == 0 then
		return dezena(math.floor(10*valor/base),genero) .. ' ' .. units[base]
	else
		return dezena(math.floor(10*valor/base),genero) .. ' ' .. units[2*base]
	end
end

-- _centena recebe um valor, a flexão de gênero de escolha e uma base para resgatar a escala do valor
-- e devolve o nome do número. Serve para as ''centenas'' de qualquer escala registrada.
local _centena = function(valor, genero, base)
	local valor = tonumber(valor)
	local base = tonumber(base)
	if valor == 0 then
		return ''
	elseif valor < base then
		return require("Módulo:Extenso/Cardinal").main(valor, genero, base/10)
	elseif valor == base then
		return 'cem' .. ' ' .. units[base]
	elseif (valor%(base/100)) == 0 then
		return centena(100*valor/base, genero) .. ' ' .. units[base]
	else
		return
	end
end

-- main é a função principal que determina qual outra subfunção irá ser chamada
-- para resgatar o nome do número. Caso o valor tenha até três dígitos, a função
-- correspondente ao número de dígitos é chamada (unidade = 1, dezena = 2 e centena =3.
-- Nos demais casos, trabalha de forma recursiva para construir o nome do número,
-- usando _unidade, _dezena e/ou _centena.
function p.main(valor, genero, base)
	local valor = tostring(valor)
	local padrao = #valor
	if padrao == 1 then --u
		return unidade(valor, genero)
	elseif padrao == 2 then --d
		return dezena(valor, genero)
	elseif padrao == 3 then --c
		return centena(valor, genero)
	elseif base == 1000 or
	base == 1000000 or
	base == 1000000000 or
	base == 1000000000000 then
		return _unidade(valor, genero, base)
	elseif base == 10000 or
	base == 10000000 or
	base == 10000000000 or
	base == 10000000000000 then
		return _dezena(valor, genero, base)
	else
		return _centena(valor, genero, base)
	end
end

-- extenso recebe os argumentos de chamada pelo usuário ou por outro módulo
-- e devolve o nome do número por extenso. Chamada por 
function p.extenso(frame)
	local valor = tostring(frame.args[1])
	local genero = frame.args[2] or 'm'
	if valor == 0 then
		return 'zero'
	elseif tonumber(valor) >= 10^15 then -- por agora, somente para números estritamente menores que 1 quadrilhão
		return ''
	else
		return 
	end
end

function p.extenso_module(valor, genero)
	local valor = tostring(valor)
	local genero = genero or 'm'
	if valor == 0 then
		return 'zero'
	elseif tonumber(valor) >= 10^15 then -- por agora, somente para números estritamente menores que 1 quadrilhão
		return ''
	else
		return 
	end
end

return p
thank you sqlite...
dripro escribió:
19 May 2020 03:31
https://pt.wikipedia.org/wiki/M%C3%B3du ... %A7%C3%A3o


local p = {}

-- unidades com flexão de gênero masculina
local unidades = {
	[1] = 'um',
	[2] = 'dois',
	[3] = 'três',
	[4] = 'quatro',
	[5] = 'cinco',
	[6] = 'seis',
	[7] = 'sete',
	[8] = 'oito',
	[9] = 'nove'
}

-- unidades com flexão de gênero feminina
local unidades_f = {
	[1] = 'uma',
	[2] = 'duas',
	[3] = 'três',
	[4] = 'quatro',
	[5] = 'cinco',
	[6] = 'seis',
	[7] = 'sete',
	[8] = 'oito',
	[9] = 'nove'
}

-- dezenas estritamente menores que vinte
local dezenas10a19 = {
	[0] = 'dez',
	[1] = 'onze',
	[2] = 'doze',
	[3] = 'treze',
	[4] = 'quatorze',
	[5] = 'quinze',
	[6] = 'dezesseis',
	[7] = 'dezessete',
	[8] = 'dezoito',
	[9] = 'dezenove'
}

-- dezenas maiores que vinte, são complementadas com " e <unidade>" quando não são inteiramente divisíveis por 10
local dezenas = {
	[2] = 'vinte',
	[3] = 'trinta',
	[4] = 'quarenta',
	[5] = 'cinquenta',
	[6] = 'sessenta',
	[7] = 'setenta',
	[8] = 'oitenta',
	[9] = 'noventa'
}

-- centenas com flexão de gênero masculina. A centena 100 é tratada separadamente.
local centenas = {
	[1] = 'cento',
	[2] = 'duzentos',
	[3] = 'trezentos',
	[4] = 'quatrocentos',
	[5] = 'quinhentos',
	[6] = 'seiscentos',
	[7] = 'setecentos',
	[8] = 'oitocentos',
	[9] = 'novecentos',
}

-- unidades com flexão de gênero feminina
local centenas_f = {
	[1] = 'cento',
	[2] = 'duzentas',
	[3] = 'trezentas',
	[4] = 'quatrocentas',
	[5] = 'quinhentas',
	[6] = 'seiscentas',
	[7] = 'setecentas',
	[8] = 'oitocentas',
	[9] = 'novecentas',
}



-- unidade recebe um valor entre 1 e 9 e devolve o nome desse número
local unidade = function(valor, genero)
	local valor = tonumber(valor)
	if valor == 0 then
		return ''
	else
		if genero == 'f' then
			return unidades_f[valor]
		else
			return unidades[valor]
		end
	end
end

-- dezena recebe um valor entre 1 e 99 e devolve o nome desse número de acordo
-- com o caso em que ele se encaixa
local dezena = function(valor, genero)
	local valor = tonumber(valor)
	if valor == 0 then
		return ''
	elseif valor < 10 then					-- valor = {1,2,3,4,5,6,7,8,9}
		return unidade(valor, genero)
	elseif math.floor(valor/10) == 1 then	-- valor = {10,11,12,13,14,15,16,17,18,19}
		return dezenas10a19[valor%10]
	elseif valor%10 == 0 then				-- valor = {20,30,40,50,60,70,80,90}
		return dezenas[valor/10]
	else									-- valor = {21,22,...,29,31,32,...,98,99}
		return dezenas[math.floor(valor/10)] .. ' e ' .. unidade(valor%10, genero)
	end
end

-- centena recebe um valor entre 1 e 999 e devolve o nome desse número de acordo
-- com o caso em que ele se encaixa
local centena = function(valor, genero)
	local valor = tonumber(valor)
	if valor == 0 then
		return ''
	elseif valor < 100 then					-- valor = {1,2,3,...,97,98,99}
		return ' e ' .. dezena(valor, genero)
	elseif valor == 100 then				-- valor = 100
		return 'cem'
	elseif valor%100 == 0 then				-- valor = {200,300,400,...,800,900}
		if genero == 'f' then
			return centenas_f[valor/100]
		else
			return centenas[valor/100]
		end
	else									-- valor = {201,202,...,299,301,...,998,999}
		if genero == 'f' then
			return centenas_f[math.floor(valor/100)] .. ' e ' .. dezena(valor%100, genero)
		else
			return centenas[math.floor(valor/100)] .. ' e ' .. dezena(valor%100, genero)
		end
	end
end

-- units representa a escala da centena|dezena|unidade tratada.
-- x representa a escala no singular e 2x representa a escala no plural
local units = {
	[1] = '',
	[2] = '',
	[10] = '',
	[20] = '',
	[100] = '',
	[200] = '', -- até 999, os valores não possuem escala com nomenclatura
	[1000] = 'mil',
	[2000] = 'mil',
	[10000] = 'mil',
	[20000] = 'mil',
	[100000] = 'mil',
	[200000] = 'mil', -- todos os valores de 1.000 a 999.999 têm a mesma nomenclatura para a escala
	[1000000] = 'um milhão', -- nomenclatura da escala para valores de 1.000.000 a 1.999.999
	[2000000] = 'milhões',
	[10000000] = 'milhões',
	[20000000] = 'milhões',
	[100000000] = 'milhões',
	[200000000] = 'milhões', -- todos os números de 2.000.000 a 999.999.999 têm a mesma nomenclatura para a escala
	[1000000000] = 'um bilhão', -- nomenclatura da escala para valores de 1.000.000.000 a 1.999.999.999
	[2000000000] = 'bilhões',
	[10000000000] = 'bilhões',
	[20000000000] = 'bilhões',
	[100000000000] = 'bilhões',
	[200000000000] = 'bilhões', -- todos os números de 2.000.000.000 a 999.999.999.999 têm a mesma nomenclatura para a escala
	[1000000000000] = 'um trilhão', -- nomenclatura da escala para valores de 1.000.000.000.000 a 1.999.999.999.999
	[2000000000000] = 'trilhões',
	[10000000000000] = 'trilhões',
	[20000000000000] = 'trilhões',
	[100000000000000] = 'trilhões',
	[200000000000000] = 'trilhões' -- todos os números de 2.000.000.000.000 a 999.999.999.999.999 têm a mesma nomenclatura para a escala
}

-- _unidade recebe um valor, a flexão de gênero de escolha e uma base para resgatar a escala do valor
-- e devolve o nome do número. Serve para as ''unidades'' de qualquer escala registrada.
local _unidade = function(valor, genero, base)
	local valor = tonumber(valor)
	local base = tonumber(base)
	if valor == 0 then
		return ''
	elseif valor < base then
		return 
	elseif valor == base then
		return units[base]
	elseif math.floor(valor/base) == 1 then
		return
	else
		return unidade(math.floor(valor/base), genero)
	end
end

-- _dezena recebe um valor, a flexão de gênero de escolha e uma base para resgatar a escala do valor
-- e devolve o nome do número. Serve para as ''dezenas'' de qualquer escala registrada.
local _dezena = function(valor, genero, base)
	local valor = tonumber(valor)
	local base = tonumber(base)
	if valor == 0 then
		return ''
	elseif valor < base then
		return 
	elseif (valor%(base/10)) == 0 then
		return dezena(math.floor(10*valor/base),genero) .. ' ' .. units[base]
	else
		return dezena(math.floor(10*valor/base),genero) .. ' ' .. units[2*base]
	end
end

-- _centena recebe um valor, a flexão de gênero de escolha e uma base para resgatar a escala do valor
-- e devolve o nome do número. Serve para as ''centenas'' de qualquer escala registrada.
local _centena = function(valor, genero, base)
	local valor = tonumber(valor)
	local base = tonumber(base)
	if valor == 0 then
		return ''
	elseif valor < base then
		return require("Módulo:Extenso/Cardinal").main(valor, genero, base/10)
	elseif valor == base then
		return 'cem' .. ' ' .. units[base]
	elseif (valor%(base/100)) == 0 then
		return centena(100*valor/base, genero) .. ' ' .. units[base]
	else
		return
	end
end

-- main é a função principal que determina qual outra subfunção irá ser chamada
-- para resgatar o nome do número. Caso o valor tenha até três dígitos, a função
-- correspondente ao número de dígitos é chamada (unidade = 1, dezena = 2 e centena =3.
-- Nos demais casos, trabalha de forma recursiva para construir o nome do número,
-- usando _unidade, _dezena e/ou _centena.
function p.main(valor, genero, base)
	local valor = tostring(valor)
	local padrao = #valor
	if padrao == 1 then --u
		return unidade(valor, genero)
	elseif padrao == 2 then --d
		return dezena(valor, genero)
	elseif padrao == 3 then --c
		return centena(valor, genero)
	elseif base == 1000 or
	base == 1000000 or
	base == 1000000000 or
	base == 1000000000000 then
		return _unidade(valor, genero, base)
	elseif base == 10000 or
	base == 10000000 or
	base == 10000000000 or
	base == 10000000000000 then
		return _dezena(valor, genero, base)
	else
		return _centena(valor, genero, base)
	end
end

-- extenso recebe os argumentos de chamada pelo usuário ou por outro módulo
-- e devolve o nome do número por extenso. Chamada por 
function p.extenso(frame)
	local valor = tostring(frame.args[1])
	local genero = frame.args[2] or 'm'
	if valor == 0 then
		return 'zero'
	elseif tonumber(valor) >= 10^15 then -- por agora, somente para números estritamente menores que 1 quadrilhão
		return ''
	else
		return 
	end
end

function p.extenso_module(valor, genero)
	local valor = tostring(valor)
	local genero = genero or 'm'
	if valor == 0 then
		return 'zero'
	elseif tonumber(valor) >= 10^15 then -- por agora, somente para números estritamente menores que 1 quadrilhão
		return ''
	else
		return 
	end
end

return p
Obrigado Maestro
thank you :)
jhonitimer escribió:
19 May 2020 22:51
thank you :)
Ok amigo
:friends: Obrigado
thank you
thnxsa
gracias.
GRACIAS BRO
gracias :banned2
Gracias
Thanks