Microsoft Excel
Оценка 4.6

Microsoft Excel

Оценка 4.6
doc
14.05.2020
Microsoft Excel
84. Microsoft Excel.doc

Перевод чисел в текст

 

 

view plainprint?

1.        Function ABC_123(n)  

2.         Dim Nums1, Nums2, Nums3, Nums4 As Variant  

3.         Nums1 = Array("""один ""два ""три ""четыре ""пять ""шесть ""семь ""восемь ""девять ")  

4.         Nums2 = Array("""десять ""двадцать ""тридцать ""сорок ""пятьдесят ""шестьдесят ""семьдесят ""восемьдесят ""девяносто ")  

5.         Nums3 = Array("""сто ""двести ""триста ""четыреста ""пятьсот ""шестьсот ""семьсот ""восемьсот ""девятьсот ")  

6.         Nums4 = Array("""одна ""две ""три ""четыре ""пять ""шесть ""семь ""восемь ""девять ")  

7.         Nums5 = Array("десять ""одиннадцать ""двенадцать ""тринадцать ""четырнадцать ""пятнадцать ""шестнадцать ""семнадцать ""восемнадцать ""девятнадцать ")  

8.           

9.         koma_txt = ""  

10.      dr_decmil = ""  

11.      dr_mil = ""  

12.      dr_sottys = ""  

13.      dr_dectys = ""  

14.      dr_tys = ""  

15.      dr_sot = ""  

16.      dr_dec = ""  

17.      dr_ed = ""  

18.      konec = ""  

19.        

20.        

21.      If n <= 0 Then CHISLOPROPIS = "ноль"  

22.      If n <= 0 Then Exit Function  

23.        

24.      ed = Int(Int(n - (10 ^ 1) * Int(n / (10 ^ 1))) / 10 ^ (1 - 1))  

25.      dec = Int(Int(n - (10 ^ 2) * Int(n / (10 ^ 2))) / 10 ^ (2 - 1))  

26.      sot = Int(Int(n - (10 ^ 3) * Int(n / (10 ^ 3))) / 10 ^ (3 - 1))  

27.      tys = Int(Int(n - (10 ^ 4) * Int(n / (10 ^ 4))) / 10 ^ (4 - 1))  

28.      dectys = Int(Int(n - (10 ^ 5) * Int(n / (10 ^ 5))) / 10 ^ (5 - 1))  

29.      sottys = Int(Int(n - (10 ^ 6) * Int(n / (10 ^ 6))) / 10 ^ (6 - 1))  

30.      mil = Int(Int(n - (10 ^ 7) * Int(n / (10 ^ 7))) / 10 ^ (7 - 1))  

31.      decmil = Int(Int(n - (10 ^ 8) * Int(n / (10 ^ 8))) / 10 ^ (8 - 1))  

32.        

33.      Select Case decmil  

34.      Case 1  

35.      mil_txt = Nums5(mil) & "миллионов "  

36.      GoTo www  

37.      Case 2 To 9  

38.      decmil_txt = Nums2(decmil)  

39.      End Select  

40.        

41.      Select Case mil  

42.      Case 1  

43.      mil_txt = Nums1(mil) & "миллион "  

44.      Case 2, 3, 4  

45.      mil_txt = Nums1(mil) & "миллиона "  

46.      Case 5 To 20  

47.      mil_txt = Nums1(mil) & "миллионов "  

48.      End Select  

49.     www:  

50.      sottys_txt = Nums3(sottys)  

51.      Select Case dectys  

52.      Case 1  

53.      tys_txt = Nums5(tys) & "тысяч "  

54.      GoTo eee  

55.      Case 2 To 9  

56.      dectys_txt = Nums2(dectys)  

57.      End Select  

58.        

59.      Select Case tys  

60.      Case 0  

61.      If dectys > 0 Then tys_txt = Nums4(tys) & "тысяч "  

62.      Case 1  

63.      tys_txt = Nums4(tys) & "тысячa "  

64.      Case 2, 3, 4  

65.      tys_txt = Nums4(tys) & "тысячи "  

66.      Case 5 To 9  

67.      tys_txt = Nums4(tys) & "тысяч "  

68.      End Select  

69.     eee:  

70.      sot_txt = Nums3(sot)  

71.        

72.      Select Case dec  

73.      Case 1  

74.      ed_txt = Nums5(ed)  

75.      GoTo rrr  

76.      Case 2 To 9  

77.      dec_txt = Nums2(dec)  

78.      End Select  

79.     rrr:  

80.      Cel = Fix(n)  

81.      If Len(n) = Len(Cel) Then ed_txt = Nums1(ed) Else ed_txt = Nums4(ed)  

82.      If ed_txt = Nums4(1) Then koma_txt = "целая" Else koma_txt = "целых"  

83.      If Len(n) = Len(Cel) Then koma_txt = ""  

84.      If Len(n) = Len(Cel) Then GoTo ttt  

85.        

86.      drob = -Int(-(n * 10 ^ (Len(n) - Len(Cel) - 1)) - -(Cel * 10 ^ (Len(n) - Len(Cel) - 1)))  

87.      dr_ed = Int(Int(drob - (10 ^ 1) * Int(drob / (10 ^ 1))) / 10 ^ (1 - 1))  

88.      dr_dec = Int(Int(drob - (10 ^ 2) * Int(drob / (10 ^ 2))) / 10 ^ (2 - 1))  

89.      dr_sot = Int(Int(drob - (10 ^ 3) * Int(drob / (10 ^ 3))) / 10 ^ (3 - 1))  

90.      dr_tys = Int(Int(drob - (10 ^ 4) * Int(drob / (10 ^ 4))) / 10 ^ (4 - 1))  

91.      dr_dectys = Int(Int(drob - (10 ^ 5) * Int(drob / (10 ^ 5))) / 10 ^ (5 - 1))  

92.      dr_sottys = Int(Int(drob - (10 ^ 6) * Int(drob / (10 ^ 6))) / 10 ^ (6 - 1))  

93.      dr_mil = Int(Int(drob - (10 ^ 7) * Int(drob / (10 ^ 7))) / 10 ^ (7 - 1))  

94.      dr_decmil = Int(Int(drob - (10 ^ 8) * Int(drob / (10 ^ 8))) / 10 ^ (8 - 1))  

95.        

96.      ' drob = Fix((m - cel) * 10 ^ (Len(m) - Len(cel) - 1))  

97.        

98.      Select Case dr_decmil  

99.      Case 1  

100.   dr_mil_txt = Nums5(dr_mil) & "миллионов "  

101.   GoTo www1  

102.   Case 2 To 9  

103.   dr_decmil_txt = Nums2(dr_decmil)  

104.   End Select  

105.    

106.   Select Case dr_mil  

107.   Case 1  

108.   dr_mil_txt = Nums1(dr_mil) & "миллион "  

109.   Case 2, 3, 4  

110.   dr_mil_txt = Nums1(dr_mil) & "миллиона "  

111.   Case 5 To 20  

112.   dr_mil_txt = Nums1(dr_mil) & "миллионов "  

113.   End Select  

114.  www1:  

115.   dr_sottys_txt = Nums3(dr_sottys)  

116.   Select Case dr_dectys  

117.   Case 1  

118.   dr_tys_txt = Nums5(dr_tys) & "тысяч "  

119.   GoTo eee1  

120.   Case 2 To 9  

121.   dr_dectys_txt = Nums2(dr_dectys)  

122.   End Select  

123.    

124.   Select Case dr_tys  

125.   Case 0  

126.   If dr_dectys > 0 Then dr_tys_txt = Nums4(dr_tys) & "тысяч "  

127.   Case 1  

128.   dr_tys_txt = Nums4(dr_tys) & "тысячa "  

129.   Case 2, 3, 4  

130.   dr_tys_txt = Nums4(dr_tys) & "тысячи "  

131.   Case 5 To 9  

132.   dr_tys_txt = Nums4(dr_tys) & "тысяч "  

133.   End Select  

134.  eee1:  

135.   dr_sot_txt = Nums3(dr_sot)  

136.    

137.   Select Case dr_dec  

138.   Case 1  

139.   dr_ed_txt = Nums4(dr_ed)  

140.   GoTo ppp  

141.   Case 2 To 9  

142.   dr_dec_txt = Nums2(dr_dec)  

143.   End Select  

144.  ppp:  

145.   Select Case dr_ed  

146.   Case 1  

147.   dr_ed_txt = Nums4(dr_ed)  

148.   Case 2  

149.   dr_ed_txt = Nums4(dr_ed)  

150.   Case 3 To 9  

151.   dr_ed_txt = Nums1(dr_ed)  

152.   End Select  

153.    

154.  konec_znach = Len(n) - Len(Cel) - 1  

155.  Select Case konec_znach  

156.   Case 1  

157.   If dr_ed_txt = Nums4(1) Then konec = "десятая" _  

158.   Else: konec = "десятых"  

159.   Case 2  

160.   If dr_ed_txt = Nums4(1) Then konec = "сотая" _  

161.   Else: konec = "сотых"  

162.   Case 3  

163.   If dr_ed_txt = Nums4(1) Then konec = "тысячная" _  

164.   Else: konec = "тысячных"  

165.   Case 4  

166.   If dr_ed_txt = Nums4(1) Then konec = "десятитысячная" _  

167.   Else: konec = "десятитысячных"  

168.   Case 5  

169.   If dr_ed_txt = Nums4(1) Then konec = "стотысячная" _  

170.   Else: konec = "стотысячных"  

171.   Case 6  

172.   If dr_ed_txt = Nums4(1) Then konec = "миллионная" _  

173.   Else: konec = "миллионных"  

174.   Case 7  

175.   If dr_ed_txt = Nums4(1) Then konec = "десятимиллионная" _  

176.   Else: konec = "десятимиллионных"  

177.   End Select  

178.   If konec_znach > 7 Then konec = "...очень маленькая..."  

179.  ttt:  

180.   ABC_123 = decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt & koma_txt & " " & dr_decmil_txt & dr_mil_txt & dr_sottys_txt & dr_dectys_txt & dr_tys_txt & dr_sot_txt & dr_dec_txt & dr_ed_txt & konec  

181.     

182.  End Function  

 


Скачано с www.znanio.ru

Перевод чисел в текст view plain print ? 1

Перевод чисел в текст view plain print ? 1

Nums4(tys) & " тысяч " 2

Nums4(tys) & " тысяч " 2

GoTo ppp 2.

GoTo ppp 2.
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
14.05.2020