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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
| function toSlovomLeva(number) {
var lv = parseInt(number);
var flval = parseFloat(number);
var st = Math.round(flval*100)%100;
var res = '';
if (lv != 0) {
res += toSlovom(lv, 'male') +'лв.';
}
if (st != 0) {
if (res != '') res += ' и ';
res += toSlovom(st, 'female') +'ст.';
}
if (res == '') res = 'нула лв.';
return res;
}
function toSlovom(num, Gender) {
var TempGender = [Gender,'female','male','male'];
var mantisi = [['','хиляди ','милиона ','милиарда '],
['','хилядa ','милион ','милиард ']];
var ss;
var pl;
var in_pos = 0;
var Result = '';
var s = String(num);
var len = parseInt((s.length + 2)/3);
while (s.length < 3*len) s = '0'+ s;
for (var j = len-1; j >= 0; j--) {
var gr = s.substr((len-1-j)*3,3);
if (gr != '000') {
if (j == 1 && gr == '001') { // хиляда
ss = '';
} else {
ss = convert(gr, TempGender[j]);
}
if (gr == '001') pl = 1; else pl = 0;
ss += mantisi[pl][j];
if (ss.indexOf(' и ') == -1) in_pos = Result.length; else in_pos = 0;
Result += ss;
}
}
if (in_pos != 0) {
Result = Result.substr(0, in_pos) +'и '+ Result.substr(in_pos, Result.length);
}
return Result;
}
// ----------------------------------------------------------------------------
function convert(in_s, Gender) {
var stotici = ['','сто ','двеста ','триста '];
var desetici = ['десет ','единадесет ','дванадесет '];
var edinici = ['','едно','две','три','четири','пет','шест','седем','осем','девет'];
if (Gender == 'male') {
edinici[1] = 'един'; edinici[2] = 'два';
} else if (Gender == 'female') {
edinici[1] = 'една';
}
var stot = parseInt(in_s.charAt(0));
var deset = parseInt(in_s.charAt(1));
var ed = parseInt(in_s.charAt(2));
var Result = '';
if (stot > 0 && stot <= 3) Result = stotici[stot];
else if (stot > 3) Result = edinici[stot] +'стотин ';
if (deset == 1) {
if (Result != '') Result += 'и ';
if (ed >= 0 && ed <= 2) Result += desetici[ed];
else Result += edinici[ed] +'надесет ';
}
else {
if (deset > 1) {
if (Result != '' && ed == 0 ) Result += 'и ';
if (deset == 2) Result += 'двадесет ';
else Result += edinici[deset] +'десет ';
}
if (ed != 0) {
if (Result != '') Result += 'и ';
Result += edinici[ed] +' ';
}
}
return Result;
} |