🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

Q&A

解決済

1回答

837閲覧

javascriptで税抜き価格表記に変えたい

naohiro_okubo

総合スコア3

JavaScript

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

0グッド

0クリップ

投稿2020/11/24 23:47

Javascriptで、表示されている税込み価格を税抜きに置換することはできますか?ちなみに、価格表記にはカンマの桁区切りが付きます。
また、円+税~という表記が混じっており、そこは変えたくありません。

例)
111,481円 → 101,346円

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

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

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

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

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

yambejp

2020/11/25 00:33 編集

小数点以下の端数はどうするのですか? また数字の整合性チェックは必要ですか? ・12,34円とかありえないもの ・1234円とかカンマ区切りでないもの ・012円など先頭が0のもの
naohiro_okubo

2020/11/25 00:32

ありがとうございます。 四捨五入です。
miyabi_takatsuk

2020/11/25 00:36

自身でどこまでやったかのコードはあるのでしょうか? あるなら記載し、ここまでは自分でやったけど、ここがどうしてもわからない! って質問内容にしましょう。 今のままだと、質問ではなく、丸投げ作業依頼なので・・・。
naohiro_okubo

2020/11/25 00:37

すいません。最後まで見てませんでした! 整合性チェックは必要ですね。
naohiro_okubo

2020/11/25 00:43

すみません。税抜きにするスクリプトは書いてみたんですが <script> function getExcludingTax(val){ const RATE = 0.1; return Math.round(val / (1 + RATE)); } </script>
yambejp

2020/11/25 00:44

軽減税率はいらないのですか?
miyabi_takatsuk

2020/11/25 00:45

質問本文は編集できるので、質問本文に書いてください。 その際、 ```ここに言語名 コード ``` という形式で記載し、コードブロックにしてください。 質問者さんのそのコードだと、何が、どううまくいかないのか具体的に記載してください。
naohiro_okubo

2020/11/25 00:47

<script> window.onload=function strFunction02() { var tt = $("div#r_searchList p:nth-child(2)").text(); var ta = tt.match(/\d/g); var ts= ta.join(""); var tInt = parseInt(ts,10); var t = tInt / 1.1; var tNum = String(t).replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,' ); var html = $("div#r_searchList p:nth-child(2)").html(tNum + "円"); } </script>
miyabi_takatsuk

2020/11/25 00:53

ここはコメント蘭なので、 "質問本文"に記載しましょう。 質問本文は修正できますので。
naohiro_okubo

2020/11/25 00:57

すみません。サイトの使い方を誤りました。気を付けます。 お手数おかけして申し訳ありませんでした。
guest

回答1

0

ベストアンサー

とりあえずどこまで機能が必要かわからないのでこんな感じ

<div id="price">test111,481円test10円test</div> <script> const p=document.querySelector('#price'); p.textContent=p.textContent.replace(/([\d,]+)(?=円)/g,x=>Math.round(x.replace(/,/g,'')/1.1).toLocaleString()); </script>

投稿2020/11/25 00:46

yambejp

総合スコア116688

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

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

naohiro_okubo

2020/11/25 00:59

ありがとうございます。 必要なのは、ページがロードされるタイミングで表示されている価格が変わることなのですが。
yambejp

2020/11/25 01:00

> ページがロードされるタイミング window.addEventListener('DOMContentLoaded', ()=>{ const p=document.querySelector('#price'); p.textContent=p.textContent.replace(/([\d,]+)(?=円)/g,x=>Math.round(x.replace(/,/g,'')/1.1).toLocaleString()); });
naohiro_okubo

2020/11/25 01:07

ありがとうございました! 一番最初の価格は税抜き表示できましたので、すべての価格が置換されるようにしてみます。
yambejp

2020/11/25 01:11

> すべての価格が置換 ご提示したソースがそういう書き方なのですが・・・
naohiro_okubo

2020/11/25 01:17

そうですよね、私の実装の仕方がおかしいのかもしれません。 やり直してみます。 お手数おかけして申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問