number_to_arabic_word 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/number_to_arabic_word.rb +196 -0
- data/lib/number_to_arabic_word/version.rb +3 -0
- metadata +90 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 95cc5204186e4a4c52034bd8e0c439e25789f2d6
|
4
|
+
data.tar.gz: ce2370b37fd8c412a71ed7b98ae4e5cac7fb2f26
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 96a60df6691c429463181925b0d9ee9e9857ab2d7d9dbe9089e2f23dd250640b041e6fbd3f0c9dc9e13b896cf2a03f5c927aa6b01379a695883b39fd8ae41b6f
|
7
|
+
data.tar.gz: ba1804d5f3aa4b3fc7b19b4bcea31dc9f06d498588e63697ed4bf84b417c0d09d028fbb93bed8ce072046cd32ea1f498fa248cad56cb693e84b32cada3bbcf56
|
@@ -0,0 +1,196 @@
|
|
1
|
+
require "number_to_arabic_word/version"
|
2
|
+
|
3
|
+
module NumberToArabicWord
|
4
|
+
# Your code goes here...
|
5
|
+
def self.process(num)
|
6
|
+
# TODO: process `str`
|
7
|
+
composite_num = num.to_i.to_s
|
8
|
+
case composite_num.length.to_s
|
9
|
+
when "1"
|
10
|
+
return convert_one_digits(composite_num)
|
11
|
+
when "2"
|
12
|
+
return convert_two_digits(composite_num)
|
13
|
+
when "3"
|
14
|
+
return convert_three_digits(composite_num)
|
15
|
+
when "4"
|
16
|
+
return convert_four_digits(composite_num)
|
17
|
+
when "5"
|
18
|
+
return convert_five_digits(composite_num)
|
19
|
+
when "6"
|
20
|
+
return convert_six_digits(composite_num)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
def self.convert_one_digits(number)
|
24
|
+
alpha = ''
|
25
|
+
case number.to_s
|
26
|
+
when "1"
|
27
|
+
alpha = "واحد"
|
28
|
+
when "2"
|
29
|
+
alpha = "إثنان"
|
30
|
+
when "3"
|
31
|
+
alpha = "ثلاثه"
|
32
|
+
when "4"
|
33
|
+
alpha = "أربعه"
|
34
|
+
when "5"
|
35
|
+
alpha = "خمسه"
|
36
|
+
when "6"
|
37
|
+
alpha = "سته"
|
38
|
+
when "7"
|
39
|
+
alpha = "سبعه"
|
40
|
+
when "8"
|
41
|
+
alpha = "ثمانيه"
|
42
|
+
when "9"
|
43
|
+
alpha = "تسعه"
|
44
|
+
end
|
45
|
+
return alpha
|
46
|
+
end
|
47
|
+
def self.convert_two_digits(decimal_factor)
|
48
|
+
return_alpha = "00"
|
49
|
+
if decimal_factor.to_s[0,1].to_s == '0' and decimal_factor.to_s[1,1].to_s == '1'
|
50
|
+
convert_one_digits(decimal_factor.to_s[1,1])
|
51
|
+
else
|
52
|
+
case decimal_factor.to_s[0,1].to_s
|
53
|
+
when "1"
|
54
|
+
if decimal_factor.to_s[1,1].to_s == '1'
|
55
|
+
return "إحدى عشر"
|
56
|
+
elsif decimal_factor.to_s[1,1].to_s == '2'
|
57
|
+
return "إثنى عشر"
|
58
|
+
else
|
59
|
+
return convert_one_digits(decimal_factor.to_s[1,1].to_s) + " " + "عشر"
|
60
|
+
end
|
61
|
+
when "2"
|
62
|
+
return_alpha = "عشرون"
|
63
|
+
when "3"
|
64
|
+
return_alpha = "ثلاثون"
|
65
|
+
when "4"
|
66
|
+
return_alpha = "أربعون"
|
67
|
+
when "5"
|
68
|
+
return_alpha = "خمسون"
|
69
|
+
when "6"
|
70
|
+
return_alpha = "ستون"
|
71
|
+
when "7"
|
72
|
+
return_alpha = "سبعون"
|
73
|
+
when "8"
|
74
|
+
return_alpha = "ثمانون"
|
75
|
+
when "9"
|
76
|
+
return_alpha = "تسعون"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
if ((convert_one_digits(decimal_factor.to_s[1,1].to_s)).length == 0)
|
80
|
+
return return_alpha
|
81
|
+
else
|
82
|
+
return_alpha = convert_one_digits(decimal_factor.to_s[1,1].to_s) + " و " + return_alpha
|
83
|
+
end
|
84
|
+
return return_alpha
|
85
|
+
end
|
86
|
+
def self.convert_three_digits(decimal_factor)
|
87
|
+
return_alpha = ''
|
88
|
+
case decimal_factor.to_s[0,1].to_i
|
89
|
+
when 1
|
90
|
+
if (decimal_factor.to_s[1,1].to_s == '0')
|
91
|
+
if (decimal_factor.to_s[2,1].to_s == '0')
|
92
|
+
return_alpha = "مائه"
|
93
|
+
else
|
94
|
+
return ("مائه" + " و " + convert_one_digits(decimal_factor.to_s[2,1].to_s))
|
95
|
+
end
|
96
|
+
else
|
97
|
+
return ("مائه" + " و " + convert_two_digits(decimal_factor.to_s[1, 3]))
|
98
|
+
end
|
99
|
+
|
100
|
+
when 2
|
101
|
+
if (decimal_factor.to_s[1,1].to_s == '0')
|
102
|
+
if (decimal_factor.to_s[2,1].to_s == '0')
|
103
|
+
return "مائتين"
|
104
|
+
else
|
105
|
+
return ("مائتين" + " و " + convert_one_digits(decimal_factor.to_s[2,1].to_s))
|
106
|
+
end
|
107
|
+
else
|
108
|
+
return ("مائتين" + " و " + convert_two_digits(decimal_factor.to_s[1, 3]))
|
109
|
+
end
|
110
|
+
when 3..9
|
111
|
+
if (decimal_factor.to_s[1,1].to_s == '0')
|
112
|
+
if (decimal_factor.to_s[2,1].to_s == '0')
|
113
|
+
return (convert_one_digits(decimal_factor.to_s[0,1]) + " مائه " )
|
114
|
+
else
|
115
|
+
return (convert_one_digits(decimal_factor[0,1]).to_s + " مائه " + " و " + convert_one_digits(decimal_factor[0,1]).to_s)
|
116
|
+
end
|
117
|
+
else
|
118
|
+
return (convert_one_digits(decimal_factor[0,1]).to_s + " مائه " + " و " + convert_two_digits(decimal_factor[1,3]).to_s)
|
119
|
+
end
|
120
|
+
when 0
|
121
|
+
if (decimal_factor.to_s[1,1].to_s == '0')
|
122
|
+
if (decimal_factor.to_s[2,1].to_s == '0')
|
123
|
+
return " "
|
124
|
+
else
|
125
|
+
return convert_one_digits(decimal_factor.to_s[2,1].to_s)
|
126
|
+
end
|
127
|
+
else
|
128
|
+
return convert_two_digits(decimal_factor[1,3].to_s)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
return return_alpha
|
132
|
+
end
|
133
|
+
def self.convert_four_digits(decimal_factor)
|
134
|
+
return_alpha = ''
|
135
|
+
case decimal_factor.to_s[0,1].to_i
|
136
|
+
when 1
|
137
|
+
if (decimal_factor.to_s[1,1].to_s == '0')
|
138
|
+
if (decimal_factor.to_s[2,1].to_s == '0')
|
139
|
+
if (decimal_factor.to_s[3,1].to_s == '0')
|
140
|
+
return "ألف"
|
141
|
+
else
|
142
|
+
return ("ألف" + " و " + convert_one_digits(decimal_factor[3,1]).to_s)
|
143
|
+
end
|
144
|
+
else
|
145
|
+
return ("ألف" + " و " + convert_two_digits(decimal_factor[2, 3]).to_s)
|
146
|
+
end
|
147
|
+
else
|
148
|
+
return ("ألف" + " و " + convert_three_digits(decimal_factor[1, 4]).to_s)
|
149
|
+
end
|
150
|
+
|
151
|
+
when 2
|
152
|
+
if (decimal_factor.to_s[1,1].to_s == '0')
|
153
|
+
if (decimal_factor.to_s[2,1].to_s == '0')
|
154
|
+
if (decimal_factor.to_s[3,1].to_s == '0')
|
155
|
+
return "ألفين"
|
156
|
+
else
|
157
|
+
return "ألفين" + " و " + convert_one_digits(decimal_factor[3,1]).to_s
|
158
|
+
end
|
159
|
+
else
|
160
|
+
return "ألفين" + " و " + convert_two_digits(decimal_factor[2, 3]).to_s
|
161
|
+
end
|
162
|
+
else
|
163
|
+
return "ألفين" + " و " + convert_three_digits(decimal_factor[1, 4]).to_s
|
164
|
+
end
|
165
|
+
when 3..9
|
166
|
+
if (decimal_factor.to_s[1,1].to_s == '0')
|
167
|
+
if (decimal_factor.to_s[2,1].to_s == '0')
|
168
|
+
if (decimal_factor.to_s[3,1].to_s == '0')
|
169
|
+
return convert_one_digits(decimal_factor[0,1]).to_s + " ألاف"
|
170
|
+
else
|
171
|
+
return convert_one_digits(decimal_factor[0,1]).to_s + " ألاف" + " و " + convert_one_digits(decimal_factor.to_s[3,1]).to_s
|
172
|
+
end
|
173
|
+
else
|
174
|
+
return convert_one_digits(decimal_factor[0,1]).to_s + " ألاف" + " و " + convert_two_digits(decimal_factor[2, 3]).to_s
|
175
|
+
end
|
176
|
+
else
|
177
|
+
return convert_one_digits(decimal_factor[0,1]).to_s + " ألاف" + " و " + convert_three_digits(decimal_factor[1,4]).to_s
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
181
|
+
def self.convert_five_digits(decimal_factor)
|
182
|
+
if ((convert_three_digits(decimal_factor[2, 5])).length== 0)
|
183
|
+
return (convert_two_digits(decimal_factor[0, 2]) + " ألف ")
|
184
|
+
else
|
185
|
+
return (convert_two_digits(decimal_factor[0, 2]).to_s + " ألفا " + " و " + convert_three_digits(decimal_factor[2, 5]).to_s)
|
186
|
+
end
|
187
|
+
end
|
188
|
+
def self.convert_six_digits(decimal_factor)
|
189
|
+
if ((convert_three_digits(decimal_factor[2, 5])).length== 0)
|
190
|
+
return (convert_three_digits(decimal_factor[0, 3]) + " ألف ")
|
191
|
+
else
|
192
|
+
return (convert_three_digits(decimal_factor[0, 3]) + " ألفا " + " و " + convert_three_digits(decimal_factor[3, 6]))
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
end
|
metadata
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: number_to_arabic_word
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- khamroddin
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-11-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.17'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.17'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
description: number_to_arabic_word is gem which convert numeric number to arabic string
|
56
|
+
upto 6 digits
|
57
|
+
email:
|
58
|
+
- khamar.md@gmail.com
|
59
|
+
executables: []
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- lib/number_to_arabic_word.rb
|
64
|
+
- lib/number_to_arabic_word/version.rb
|
65
|
+
homepage: ''
|
66
|
+
licenses:
|
67
|
+
- MIT
|
68
|
+
metadata: {}
|
69
|
+
post_install_message:
|
70
|
+
rdoc_options: []
|
71
|
+
require_paths:
|
72
|
+
- lib
|
73
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
requirements: []
|
84
|
+
rubyforge_project:
|
85
|
+
rubygems_version: 2.5.1
|
86
|
+
signing_key:
|
87
|
+
specification_version: 4
|
88
|
+
summary: number_to_arabic_word is gem which convert numeric number to arabic string
|
89
|
+
upto 6 digits
|
90
|
+
test_files: []
|