Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

 Словом (изписване на число с думи) - JavaScript
Автор  Bibi (20.04.2008 18:44) съобщение до автора
Погледнат  789 пъти добави към любими
Оценка добави коментар
Гласове  -- изпрати на приятел
Коментари  (0) абонирай се за JavaScript
     
Bibi
     
 

CODE
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) {
//num : число с макс. 12 цифри,
//Gender : 'male', 'female', 'middle' = default
 
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;
}



Ключови думи: php изписване на число с думи стринг лев




 1 посетител чете този скрипт (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 
  • Интересно от myLINKS
 
 
 
 
 



IT-PLACE.NET © 2004 - 2008