数値を取得して消費税計算をして四捨五入して、あとは3桁区切りでカンマを付けて戻すだけなのですが、カンマの付け方がわかりません。
よろしくお願いします。
<script type="text/javascript">
var tax = 1.05;
var targetClass='.price';
$(function() {
$(targetClass).each(function(){
var price_a = $(this).text();
var price_b = price_a.replace(/,/g, "");
var price_c = price_b * tax;
var price_d = Math.round(price_c);
//切り上げ var price_d = Math.ceil(price_c);
//切り捨て var price_d = Math.floor(price_c);
$(this).text(price_d);
});
});
</script>
<p class="price">1,000</p>
<p class="price">1,250</p>
<p class="price">1,360</p>
<p class="price">1,450</p>
<p class="price">1,550</p>
<p class="price">1,600</p>
No.3ベストアンサー
- 回答日時:
> エラーが出てしまう
price_d を文字列にしましょう。
var price_d = Math.round(price_c).toString();
または
var price_d = "" + Math.round(price_c);
> 「var ○○○」がずらっと並んでいる
そもそも計算途中の変数に "price_" は余分だと思いますので削除するとすっきりします
var a = $(this).text();
var b = parseInt( a.replace(/,/g, "") ); // 安全のために parseInt は必要でしょう
var c = b * tax;
var d = Math.round(c).toString();
さらに変数定義はカンマ区切りで列挙できますので
var a = $(this).text(),
b = parseInt( a.replace(/,/g, "") ),
c = b * tax,
d = Math.round(c).toString();
そもそも計算途中の変数など不要だと思うなら
var d = $(this).text();
d = parseInt( a.replace(/,/g, "") );
d *= tax;
d = Math.round(d).toString();
伝統芸である One-liner/一行野郎 の作法に従うなら
参考) http://en.wikipedia.org/wiki/One-liner_program
var d = Math.round(parseInt($(this).text().replace(/,/g, "")) * tax).toString();
ですが結局はずらずら書くのが、一番安全で間違いのない記述ではないでしょうか。
No.4
- 回答日時:
>もう少し簡略化して記述する方法はないでしょうか
ある程度意味的にまとめてください
それから途中のあまり重要でない変数の名前は思いつかなければ
numやstrなど適当でもいいと思います
var input = $(this).text(); //読み込み
var num = +input.replace(/,/g, ""); //テキスト文字を数値に直す
var price = Math.floor(num * tax); //税込み価格を出す
var output = price.toLocaleString() //3桁区切りにする
$(this).text(output); //書き込み
もしくは正規化やパースの部分、入力出力の部分はもっとまとめてもいいと思います
var zeinuki = +$(this).text().replace(/,/g, ""); //税抜き価格を取得
var zeikomi = Math.floor(zeinuki * tax); //税込みにする
$(this).text(zeikomi.toLocaleString()); //税込み価格を出力
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- PHP 記述のおかしいところを教えて下さい。 1 2023/02/03 11:25
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- 英語 “Price $99 do not include shipping “ と “do not inc 4 2022/12/22 06:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで作った時報アプリが動き...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
リンク集をCSVファイルで管理し...
-
特定のclassを表示、非表示にする
-
ジェネレーターの作り方
-
javascriptカウントダウン終了...
-
Ajaxでタイムアウトしてしまう
-
今日からnヶ月後(前)
-
カンマで終わってるのはセミコ...
-
ローカルにあるファイルを検索...
-
引数なしの関数で疑問です
-
テーブルセル内のinput要素のna...
-
翌月を取得するGASが分かりません
-
ボタンを押すことでテキストエ...
-
なぜmatchメソッドがエラーにな...
-
var exports = exports || {}; ...
-
1日1回引けるJavaScriptおみく...
-
JScriptでExcelの全シートにア...
-
スマフォではボタンを表示させ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
ローカルにあるファイルを検索...
-
JavaScriptで文字列の特定文字...
-
ジェネレーターの作り方
-
javascriptでiframeのURL変更は?
-
なぜmatchメソッドがエラーにな...
-
ASP.NET MVCでObjectをjsに渡す
-
gas スプレッドシートがアクテ...
-
Google Apps Script で添付ファ...
-
html javascript リンク先アド...
-
ASP.NETのコントロールの値をJa...
-
javascriptでテーブルに追加し...
-
C言語の質問です HTMLでこのよ...
-
JavaScriptで決まった「時刻」...
-
翌月を取得するGASが分かりません
-
特定のclassを表示、非表示にする
-
どうすれば良いでしょうか?
-
HTMLにWSHを組み込む
おすすめ情報