質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1275閲覧

javascript 数値の扱い?

pikatan

総合スコア7

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/08/14 17:14

html,javascriptについて質問です。

var text = parseInt(document.h.b.value);
var inp = new Array(3);
for(i=0; i<4; i++){
inp[i] = text % 10:
text = Math.floor(text / 10);
}
document.write(inp);

1行目ではテキストボックスに4桁の数字を入力しそれを数値としてtextに代入しています。この4桁の数値を配列に1桁ずつ代入したいと考えています。最後のdocument.writeはちゃんと計算できているか確かめるために入れています。このソースだとうまく動きません。どうすればいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/08/14 17:17

「うまく動きません」とはどのような状況でしょうか。出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。また、コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
guest

回答2

0

色々検討すべきことはありますが、とりあえず4行目の文末がセミコロンじゃないのと、最終行の記述だと実行されない場合がありそうなのが原因じゃないかと思います。
後は「document.h.b.value」これが値を取得できていない可能性もありますが、
とりあえず其の辺りを適当に書き換えた次のコードはwindowsの最新chromeで動作しましたよ。

javascript

1var text = parseInt('1234'); 2var inp = new Array(3); 3for(i=0; i<4; i++){ 4 inp[i] = text % 10; 5 text = Math.floor(text / 10); 6} document.write('<p>'+inp+'</P>'); //<p>4,3,2,1</p>

確認するだけなら、最後の行はconsole.log(inp);でよさそうに思います。
new Array(3) は(4)の間違いでしょうか?しかしjavascriptにおいては3と書いても4と書いても実際メモリが確保されてるわけでも無いようですし、大差ないかも...。

投稿2016/08/14 17:57

hirohiro

総合スコア2068

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pikatan

2016/08/14 18:25

回答ありがとうございます。 解決できました。確認方法のアドバイスまでありがとうございます。
guest

0

ベストアンサー

修正点は2点だけ。

JavaScript

1var text = 1234; 2var inp = new Array(3); // ←4つの要素が必要だが、2つしか作りません (最も、new Array でも問題ありませんが) 3 4for (i = 0; i < 4; i++) { 5 inp[i] = text % 10: // SyntaxError: Unexpected token : ←末尾がコロン(:)です。 6 text = Math.floor(text / 10); 7} 8 9console.log(inp); // [4, 3, 2, 1] ←「1の桁」から順に配列に格納されます

Re: pikatan さん

投稿2016/08/14 17:46

編集2016/08/14 17:49
think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pikatan

2016/08/14 18:22

解決しました。回答ありがとうございます。 バカみたいなミスですね…注意します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問