Module:ολογράφως: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Νέα σελίδα: local export = {} divmod = function (num,divider) return math.floor(num / divider), num % divider end function table_shallow_copy(t) local t2 = {} for k,v in pairs(...
 
Χωρίς σύνοψη επεξεργασίας
Γραμμή 555:
end
 
export.olografos = function (num,sex,caseframe)
local args = frame.args
initthis(sex, case)
numstr = args[1] or ''
local deksia = {}
sexstr = args[2] or ''
local ycounter = 0
casestr = args[3] or ''
local rest2, dyada
local rest, triada = divmod(num,1000)
b = export.test3 (numstr, sexstr, casestr)
if triada == 0 then
return b[4]
deksia[ycounter] = ''
else
rest2, dyada = divmod(triada, 100)
if dyada == 0 then
deksia[ycounter] = ''
elseif dyada < 20 then
deksia[ycounter] = lektiko['σκέτα1_19'][dyada]
else
deksia[ycounter] = lektiko['σκέτα1_19'][dyada % 10]
end
if rest2 == 0 then
 
elseif rest2 == 1 then
if deksia[ycounter] == '' then
deksia[ycounter] = 'εκατό ' .. deksia[ycounter]
else
deksia[ycounter] = 'εκατόν ' .. deksia[ycounter]
end
else
deksia[ycounter] = lektiko['σκέτα100'][rest2] .. ' ' .. deksia[ycounter]
end
end
if rest > 0 then --χιλιάδες
ycounter = ycounter+1
rest2 = 0
dyada = 0
rest, triada = divmod(rest, 1000)
if triada == 0 then --έχει μηδενικές χιλιάδες π.χ. 1000256
deksia[ycounter] = ''
else
rest2, dyada = divmod(triada, 100)--rest2=πόσες εκατοντάδες χιλιάδας έχει
if dyada == 0 then
deksia[ycounter] = ''
elseif dyada == 1 then --αν τα δύο δεξιά ψηφία είναι 01
if rest2 > 0 then --αν δεν έχει εκατοντάδα χιλιάδας
deksia[ycounter] = lektiko['χιλιάδες1_19'][1] .. ' ' .. lektiko['κατάληξη'][1][0]
else
deksia[ycounter] = lektiko['κατάληξη'][1][1]
end
elseif dyada < 20 then --τα δύο δεξιά ψηφία είναι μεταξύ 2 και 19
deksia[ycounter] = lektiko['χιλιάδες1_19'][dyada] .. ' ' .. lektiko['κατάληξη'][1][0]
else--μεταξύ 20 και 99
--μονάδες
deksia[ycounter] = lektiko['χιλιάδες1_19'][dyada % 10] .. ' ' .. lektiko['κατάληξη'][1][0]
--δεκάδες
deksia[ycounter] = lektiko['χιλιάδες20_99'][math.floor(dyada / 10)] .. ' ' .. deksia[ycounter]
end
end
if rest2 == 0 then
--pass
elseif rest2 == 1 then
if deksia[ycounter] == '' then --έχει ακριβώς 100 χιλιάδες
deksia[ycounter] = 'εκατό ' .. lektiko['κατάληξη'][1][0]
else --είχε και κάποιες χιλιάδες π.χ. 132
deksia[ycounter] = 'εκατόν ' .. deksia[ycounter]
end
else --έχει παραπάνω από 199 χιλιάδες...
if deksia[ycounter] == '' then --έχει ακέραιο αριθμό εκατοντάδων χιλιάδων
deksia[ycounter] = lektiko['χιλιάδες100'][rest2] .. ' ' .. lektiko['κατάληξη'][1][0]
else --έχει και κάτι ψιλά... που τα βρήκα πριν
deksia[ycounter] = lektiko['χιλιάδες100'][rest2] .. ' ' .. deksia[ycounter]
end
end
end
myria=1
while rest do
ycounter = ycounter+1
myria = myria + 1
rest2 = 0
dyada = 0
rest, triada = divmod(rest, 1000)
 
if triada == 0 then --έχει μηδενικά "εκατομμύρια" π.χ. 1000000256
deksia[ycounter] = ''
else
rest2, dyada = divmod(triada, 100)--rest2=πόσες εκατοντάδες από τα αντίστοιχα εκατομμύρια έχει
if dyada == 0 then
deksia[ycounter] = ''
elseif dyada == 1 then --αν τα δύο δεξιά ψηφία είναι 01
if rest2 > 0 then --αν δεν έχει εκατοντάδα χιλιάδας
deksia[ycounter] = lektiko['μύρια1_19'][1] .. ' ' .. lektiko['κατάληξη'][myria][0]
else
deksia[ycounter] = lektiko['κατάληξη'][1][1]
end
elseif dyada < 20 then --τα δύο δεξιά ψηφία είναι μεταξύ 2 και 19
deksia[ycounter] = lektiko['χιλιάδες1_19'][dyada] .. ' ' .. lektiko['κατάληξη'][1][0]
else--μεταξύ 20 και 99
--μονάδες
deksia[ycounter] = lektiko['χιλιάδες1_19'][dyada % 10] .. ' ' .. lektiko['κατάληξη'][1][0]
--δεκάδες
deksia[ycounter] = lektiko['χιλιάδες20_99'][math.floor(dyada / 10)] .. ' ' .. deksia[ycounter]
end
end
if rest2 == 0 then
--pass
elseif rest2 == 1 then
if deksia[ycounter] == '' then --έχει ακριβώς 100 χιλιάδες
deksia[ycounter] = 'εκατό ' .. lektiko['κατάληξη'][1][0]
else --είχε και κάποιες χιλιάδες π.χ. 132
deksia[ycounter] = 'εκατόν ' .. deksia[ycounter]
end
else --έχει παραπάνω από 199 χιλιάδες...
if deksia[ycounter] == '' then --έχει ακέραιο αριθμό εκατοντάδων χιλιάδων
deksia[ycounter] = lektiko['χιλιάδες100'][rest2] .. ' ' .. lektiko['κατάληξη'][1][0]
else --έχει και κάτι ψιλά... που τα βρήκα πριν
deksia[ycounter] = lektiko['χιλιάδες100'][rest2] .. ' ' .. deksia[ycounter]
end
end
 
 
end --do while rest
 
end