質問編集履歴

4

試したことの追加

2020/09/23 17:03

投稿

sundara.
sundara.

スコア5

test CHANGED
File without changes
test CHANGED
@@ -182,6 +182,14 @@
182
182
 
183
183
 
184
184
 
185
+ このことからinputに値を入力した時点では数値として代入されるが、
186
+
187
+ 他のinputに値を代入した時(イベント発生時)にはカンマを含むため文字列に反映されるのかなと思います。
188
+
189
+ 試しにcosole.log(parseInt(111,111))とやってみたら111と表示されました。
190
+
191
+
192
+
185
193
  ↓のJSコードを取り除いた状態で入力すると上手くいきます。
186
194
 
187
195
   ですが、カンマ区切りがなくなります…あちらがたてばこちらが立たず状態です。
@@ -214,4 +222,8 @@
214
222
 
215
223
 
216
224
 
225
+
226
+
227
+
228
+
217
229
  カンマ区切りとしつつ、数値を合計させるいい方法があればご教授いただきたいです。

3

JSコードのカンマ区切り処理が無い状態での処理結果

2020/09/23 17:03

投稿

sundara.
sundara.

スコア5

test CHANGED
File without changes
test CHANGED
@@ -174,13 +174,41 @@
174
174
 
175
175
  ↓↓↓
176
176
 
177
-
178
-
179
- class1に111111を入力→console.log(money1)でコンソールに111111と表示。
177
+ class="money1"に11111を入力→console.log(money1)でコンソールに11111と表示。
180
-
178
+
181
- 続けてclass2に111111を入力→console.log(money1)でコンソールに11と表示,console.log(money2)でコンソールに111111と表示。
179
+ 続けてclass="money2"に11111を入力→console.log(money1)でコンソールに11と表示,console.log(money2)でコンソールに11111と表示。
182
-
180
+
183
- 続けてclass3に111111を入力→console.log(money1)でコンソールに11と表示,console.log(money2)でコンソールに11と表示,console.log(money3)でコンソールに111111と表示。
181
+ 続けてclass="money3"に11111を入力→console.log(money1)でコンソールに11と表示,console.log(money2)でコンソールに11と表示,console.log(money3)でコンソールに11111と表示。
182
+
183
+
184
+
185
+ ↓のJSコードを取り除いた状態で入力すると上手くいきます。
186
+
187
+  ですが、カンマ区切りがなくなります…あちらがたてばこちらが立たず状態です。
188
+
189
+ ```JavaScript
190
+
191
+ //文字列にカンマを追加
192
+
193
+ function addComma(val) {
194
+
195
+ return val.replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
196
+
197
+ }
198
+
199
+
200
+
201
+ //文字列からカンマを除去
202
+
203
+ function deleteComma(val) {
204
+
205
+ return val.replace(/,/g, '');
206
+
207
+ }
208
+
209
+ ```
210
+
211
+
184
212
 
185
213
 
186
214
 

2

console.logでのデバック調査結果

2020/09/23 16:12

投稿

sundara.
sundara.

スコア5

test CHANGED
File without changes
test CHANGED
@@ -170,4 +170,20 @@
170
170
 
171
171
 
172
172
 
173
+ console.logにて値がおかしくなる所を探したところ次のようなことが判明しました。
174
+
175
+ ↓↓↓
176
+
177
+
178
+
179
+ class1に111111を入力→console.log(money1)でコンソールに111111と表示。
180
+
181
+ 続けてclass2に111111を入力→console.log(money1)でコンソールに11と表示,console.log(money2)でコンソールに111111と表示。
182
+
183
+ 続けてclass3に111111を入力→console.log(money1)でコンソールに11と表示,console.log(money2)でコンソールに11と表示,console.log(money3)でコンソールに111111と表示。
184
+
185
+
186
+
187
+
188
+
173
189
  カンマ区切りとしつつ、数値を合計させるいい方法があればご教授いただきたいです。

1

入力例、let totle = money1 + money2 + money3;時点での値を記載

2020/09/23 15:33

投稿

sundara.
sundara.

スコア5

test CHANGED
File without changes
test CHANGED
@@ -162,4 +162,12 @@
162
162
 
163
163
 
164
164
 
165
+ 入力例:
166
+
167
+ inputタグのclass="money1”~class="money3"に11,111と入力すると合計が表示されるspanタグ部分には11133と表示されてしまいます。
168
+
169
+ また、let totle = money1 + money2 + money3;時点でconsole.log(totle)とするとspanタグ表示される変な値と同じ表示になります。
170
+
171
+
172
+
165
173
  カンマ区切りとしつつ、数値を合計させるいい方法があればご教授いただきたいです。