teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

誤字

2020/02/03 09:26

投稿

norun07
norun07

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  sum = ["98.3万", "238万", "98.3万", "795万"]
2
- 万の単位に注目してその後ろに1000を掛けたいです。
2
+ 万の単位に注目してその後ろに10000を掛けたいです。
3
3
 
4
4
  千や百も変換したいです。
5
5
  できればそれを降順(数字の大きい順に)並べ替えたいです。

2

追記

2020/02/03 09:26

投稿

norun07
norun07

スコア8

title CHANGED
File without changes
body CHANGED
@@ -4,4 +4,25 @@
4
4
  千や百も変換したいです。
5
5
  できればそれを降順(数字の大きい順に)並べ替えたいです。
6
6
 
7
- 質問が大変端的で短いですがよろしくお願い致します。
7
+ 質問が大変端的で短いですがよろしくお願い致します。
8
+
9
+ 調べたQiitaの記事です。
10
+ https://qiita.com/alfa/items/24611f664949709f530d
11
+ 下記のようなメソッドを用意されていました。
12
+ ```ruby
13
+ def convert_kansuji(text)
14
+ text.tr('〇一二三四五六七八九', '0123456789')
15
+ .gsub(/(\d+)?十(\d+)?/) { ($1 || 1).to_i * 10 + $2.to_i }
16
+ .gsub(/(\d+)?百(\d+)?/) { ($1 || 1).to_i * 100 + $2.to_i }
17
+ .gsub(/(\d+)?千(\d+)?/) { ($1 || 1).to_i * 1000 + $2.to_i }
18
+ .gsub(/(\d+)万(\d+)?/) { $1.to_i * 10000 + $2.to_i }
19
+ .gsub(/(\d+)億(\d+)?/) { $1.to_i * 100000000 + $2.to_i }
20
+ .gsub(/(\d+)兆(\d+)?/) { $1.to_i * 1000000000000 + $2.to_i }
21
+ end
22
+ ```
23
+ こちらを記述し
24
+ convert_kansuji(sum)このようにして
25
+ 引数内に配列を挿入しました。
26
+ しかし、undefined method `tr' for ["98.3万", "238万", "98.3万", "795万"]:Array (NoMethodError)
27
+ このようなエラーが出ました。
28
+ この記事のtrとは一体なんなのか理解できませんでした。

1

修正

2020/02/03 09:17

投稿

norun07
norun07

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  sum = ["98.3万", "238万", "98.3万", "795万"]
2
2
  万の単位に注目してその後ろに1000を掛けたいです。
3
3
 
4
+ 千や百も変換したいです。
4
5
  できればそれを降順(数字の大きい順に)並べ替えたいです。
5
6
 
6
7
  質問が大変端的で短いですがよろしくお願い致します。