質問編集履歴
3
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
sum = ["98.3万", "238万", "98.3万", "795万"]
|
2
2
|
|
3
|
-
万の単位に注目してその後ろに1000を掛けたいです。
|
3
|
+
万の単位に注目してその後ろに10000を掛けたいです。
|
4
4
|
|
5
5
|
|
6
6
|
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,3 +11,45 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
質問が大変端的で短いですがよろしくお願い致します。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
調べたQiitaの記事です。
|
18
|
+
|
19
|
+
https://qiita.com/alfa/items/24611f664949709f530d
|
20
|
+
|
21
|
+
下記のようなメソッドを用意されていました。
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
|
25
|
+
def convert_kansuji(text)
|
26
|
+
|
27
|
+
text.tr('〇一二三四五六七八九', '0123456789')
|
28
|
+
|
29
|
+
.gsub(/(\d+)?十(\d+)?/) { ($1 || 1).to_i * 10 + $2.to_i }
|
30
|
+
|
31
|
+
.gsub(/(\d+)?百(\d+)?/) { ($1 || 1).to_i * 100 + $2.to_i }
|
32
|
+
|
33
|
+
.gsub(/(\d+)?千(\d+)?/) { ($1 || 1).to_i * 1000 + $2.to_i }
|
34
|
+
|
35
|
+
.gsub(/(\d+)万(\d+)?/) { $1.to_i * 10000 + $2.to_i }
|
36
|
+
|
37
|
+
.gsub(/(\d+)億(\d+)?/) { $1.to_i * 100000000 + $2.to_i }
|
38
|
+
|
39
|
+
.gsub(/(\d+)兆(\d+)?/) { $1.to_i * 1000000000000 + $2.to_i }
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
こちらを記述し
|
46
|
+
|
47
|
+
convert_kansuji(sum)このようにして
|
48
|
+
|
49
|
+
引数内に配列を挿入しました。
|
50
|
+
|
51
|
+
しかし、undefined method `tr' for ["98.3万", "238万", "98.3万", "795万"]:Array (NoMethodError)
|
52
|
+
|
53
|
+
このようなエラーが出ました。
|
54
|
+
|
55
|
+
この記事のtrとは一体なんなのか理解できませんでした。
|
1
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
+
千や百も変換したいです。
|
8
|
+
|
7
9
|
できればそれを降順(数字の大きい順に)並べ替えたいです。
|
8
10
|
|
9
11
|
|