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

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

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

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

Q&A

解決済

2回答

6201閲覧

Math.floorを使用して利益計算結果を出力させたい

toratail

総合スコア12

JavaScript

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

0グッド

2クリップ

投稿2020/10/19 07:43

編集2020/10/19 07:51

javascriptで利益計算の処理を行っているのですが、販売手数料を出した後の販売利益がNaNになってしまいます。

販売手数料まで表示されています。

window.addEventListener("load",()=>{ const priceInput = document.getElementById("item-price"); priceInput.addEventListener("input", () => { const inputValue = priceInput.value; console.log(inputValue); const addTaxDom = document.getElementById("add-tax-price") addTaxDom.innerHTML = (Math.floor(inputValue * 0.1)); console.log(addTaxDom); const profitNumber = document.getElementById("profit") profitNumber.innerHTML = (Math.floor(inputValue - addTaxDom)); console.log(profitNumber); }) })

html

1div class="sell-price"> 2 <div class="weight-bold-text question-text"> 3 <span>販売価格<br>(¥300〜9,999,999)</span> 4 <a class="question" href="#">?</a> 5 </div> 6 <div> 7 <div class="price-content"> 8 <div class="price-text"> 9 <span>価格</span> 10 <span class="indispensable">必須</span> 11 </div> 12 <span class="sell-yen">¥</span> 13 <%= f.text_field :hoge, class:"price-input", id:"item-price", placeholder:"半角数字で記入" %> 14 </div> 15 <div class="price-content"> 16 <span>販売手数料 (10%)</span> 17 <span> 18 <span id='add-tax-price'></span>19 </span> 20 </div> 21 <div class="price-content"> 22 <span>販売利益</span> 23 <span> 24 <span id='profit'></span>25 </div> 26 </span> 27 </div> 28 </div>

よろしくお願いします。

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

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

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

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

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

yambejp

2020/10/19 07:45 編集

計算部分はjavaじゃなくてjavascriptでは?
toratail

2020/10/19 07:46

修正しました。
yambejp

2020/10/19 07:49

item-priceの部分を生のHTMLで書いてください
m.ts10806

2020/10/19 07:49

質問本文も修正してください。 >javaで利益計算の処理を行っているのですが
toratail

2020/10/19 07:54

生のHTMLとはなんでしょうか
yambejp

2020/10/19 08:46

<%= ・・・ %> の記載がおそらくサーバーサイドの処理でかいていますよね? 回答者の環境では再現できません。たぶんこんな感じなのでしょうけど・・・ <input type="text" name="hoge" class="price-input" id="item-price" placeholder="半角数字で記入">
guest

回答2

0

自己解決

profitNumber.innerHTML = (Math.floor(inputValue - addTaxDom));

という記述の中で、 addTaxDomが代入されているのは

(Math.floor(inputValue * 0.1));

上記が文面ごと代入されてしまっていた。

なので、50の数値だけを取り出すようにvalueを定義し

const profitNumber = document.getElementById("profit") const value_result = inputValue * 0.1 console.log(value_result) profitNumber.innerHTML = (Math.floor(inputValue - value_result)); console.log(profitNumber);

このように再導入してあげる形にすればaddTaxDomの数値が受け取れ計算ができる。

投稿2020/10/19 08:59

toratail

総合スコア12

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

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

0

多分こんな感じです

javascript

1const addTaxValue=(Math.floor(inputValue * 0.1)); 2addTaxDom.innerHTML = addTaxValue; 3・・・ 4profitNumber.innerHTML = (Math.floor(inputValue - addTaxValue));

投稿2020/10/19 08:50

yambejp

総合スコア116724

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

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

yambejp

2020/10/19 08:51

inputValueからDomを引いちゃまずいですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問