1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Digit = {
["zero"] = 0,
["one"] = 1,
["two"] = 2,
["three"] = 3,
["four"] = 4,
["five"] =5,
["six"] = 6,
["seven"] = 7,
["eight"] = 8,
["nine"] = 9,
["ten"] = 10,
["eleven"] = 11,
["twelve"] = 12,
["thirteen"] = 13,
["fourteen"] = 14,
["fifteen"] = 15,
["sixteen"] = 16,
["seventeen"] = 17,
["eighteen"] = 18,
["nineteen"] = 19,
["twenty"] = 20,
["thirty"] = 30,
["fourty"] = 40,
["fifty"] = 50,
["sixty"] = 60,
["seventy"] = 70,
["eighty"] = 80,
["ninety"] = 90,
["hundred"] = 100,
["thousand"] = 1000,
["million"] = 1000000,
["billion"] = 1000000000}
HighDigit = {
["hundred"] = 100,
["thousand"] = 1000}
function Pronounce(Number)
PronouceNumber = 0
Number = string.lower(Number)
WordsList = Split(Number,"-")
Multi = nil
local function STax(tVar,NextString)
if tVar then
if Multi then
PronouceNumber = (PronouceNumber + (Multi*tVar))
Multi = nil
else
if (HighDigit[NextString]) then
Multi = tVar
else
PronouceNumber = (PronouceNumber + tVar)
end
end
end
end
for K,V in ipairs(WordsList) do
if Digit[V] then
STax(Digit[V],WordsList[K + 1])
end
end
print(PronouceNumber)
end
function Split(String)
local Table = {}
local ID = 1
for I in string.gmatch(String, [[[^-]+]]) do
Table[ID] = I
ID = (ID + 1)
end
return(Table)
end