ziffern 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ziffern.rb +19 -17
- data/ziffern_spec.rb +1 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70eaaad3cbb7f3b3f9a771ad594808d1b3355b99
|
4
|
+
data.tar.gz: 1258f0ad107131e9115f7adf83432468e14c11da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a0c95ca8673b14b036fdc9ce3bc8fbd648e33bc26930e3a27f3f99f0ef174db185cd4e6e6fda7e678c178c8b1e6a4f0857c403a6156fdc93e26c0c3d8ca978d
|
7
|
+
data.tar.gz: a7c6f2f32f0703acbdb4ab0208af68a3ef9da098facc9cb5a555d53a0ee2be313df7ac10409082e79342c1ac745cfd64fb4c4f24d80dc0f31a8f42ac18b6a5b5
|
data/ziffern.rb
CHANGED
@@ -2,7 +2,7 @@ class Ziffern
|
|
2
2
|
|
3
3
|
# http://de.wikipedia.org/wiki/Zahlennamen
|
4
4
|
|
5
|
-
NINETEEN = %w{ null
|
5
|
+
NINETEEN = %w{ null eins zwei drei vier fünf sechs sieben acht neun zehn elf zwölf
|
6
6
|
dreizehn vierzehn fünfzehn sechzehn siebzehn achtzehn neunzehn }
|
7
7
|
|
8
8
|
TENS = %w{ zwanzig dreißig vierzig fünfzig sechzig siebzig achtzig neunzig }.unshift(nil, nil)
|
@@ -14,20 +14,21 @@ class Ziffern
|
|
14
14
|
|
15
15
|
|
16
16
|
def to_german(number)
|
17
|
-
|
17
|
+
convert_sign(number) + convert_integer(number) + convert_decimals(number)
|
18
18
|
end
|
19
19
|
|
20
20
|
private
|
21
21
|
|
22
|
-
def
|
23
|
-
number
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
def convert_sign(number)
|
23
|
+
if number.to_f < 0
|
24
|
+
"minus "
|
25
|
+
else
|
26
|
+
""
|
27
|
+
end
|
27
28
|
end
|
28
29
|
|
29
30
|
def convert_integer(number)
|
30
|
-
convert(number.to_i, 'eins')
|
31
|
+
convert(number.to_i.abs, 'eins')
|
31
32
|
end
|
32
33
|
|
33
34
|
def convert(number, one='ein')
|
@@ -47,25 +48,26 @@ class Ziffern
|
|
47
48
|
if remainder.zero?
|
48
49
|
TENS[ten]
|
49
50
|
else
|
50
|
-
"#{
|
51
|
+
"#{convert(remainder)}und#{TENS[ten]}"
|
51
52
|
end
|
52
53
|
end
|
53
54
|
|
54
|
-
def quantify_by_factor(factor,
|
55
|
+
def quantify_by_factor(factor, quantifier, number)
|
55
56
|
amount, remainder = number.divmod(factor)
|
56
57
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
text = convert(amount) + quantifier
|
59
|
+
text << convert(remainder) unless remainder.zero?
|
60
|
+
|
61
|
+
text
|
61
62
|
end
|
62
63
|
|
63
64
|
def bignums(number)
|
64
65
|
number_of_millions, remainder = number.divmod(1000_000)
|
65
66
|
|
66
|
-
convert_millions(number_of_millions)
|
67
|
-
|
68
|
-
|
67
|
+
text = convert_millions(number_of_millions)
|
68
|
+
text << " " << convert_integer(remainder) unless remainder.zero?
|
69
|
+
|
70
|
+
text
|
69
71
|
end
|
70
72
|
|
71
73
|
def convert_millions(number_of_millions)
|
data/ziffern_spec.rb
CHANGED