- ベストアンサー
ホームページ作成で計算結果を一括表示する方法とは?
- ホームページ作成で計算結果を一括して表示する方法について探しています。
- 現在、輸入雑貨の紹介ホームページを作成しているのですが、レートの変更に伴って数十個の計算結果を一括して反映・計算する方法を知りたいです。
- 今まではブログやワードプレスのHTMLを改編して利用していましたが、HPを1から製作するのは初めてで手探り状態です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
普通に作るHTMLは表示、レイアウトは変更できても「計算」となると話は別です。 相手側のパソコンのブラウザで計算させる方法だと 「JavaScript」をHTMLの中に記述します。 ○と× ○多少プログラミングを学べばできます。 ○ご自分のブラウザですぐ結果を確認できます。 ×「JavaScript」に対応していない携帯等のブラウザでは表示できません。 ×ページ毎にスクリプトを作る必要があります。 …等 http://www.hakko.co.jp/javascript/kantan0101.htm この他にサーバー側で計算させる「CGI」があります。 掲示板等がこのたぐいですね。 ○と× ○データファイルを更新すれば何ページに渡ろうが計算してくれます。 ○検索や並び替え、カテゴリー等条件に合ったものを絞り込むことができます。 ○携帯でも表示できます。 ×プログラムや属性等をある程度学ばなければなりません。 ×サーバーにアップしなければ結果が確認できません。 …等 http://www.aimix.jp/cgi/syohokkeisan.html
その他の回答 (2)
- kanchan-a
- ベストアンサー率64% (18/28)
回答者No.2です。 長いこと放置していてすみません(^^;)。 解決はできたでしょうか。 小数点以下の数を指定することはできます。 簡単な方法はdocument.writeのところで 「data.toFixed(2)」とすれば、小数点2桁まで表示してくれます。 カッコ内の「2」と言うのが桁数です。 サンプルでは小数点以下が2桁以上出ないので確実ですが、 小数点がたくさん出てしまうような計算の場合、ブラウザの違いで 四捨五入が変わってしまうことがあるので、その時は、またここで ご質問なさったら、と思います。 ちなみに、整数部の桁合わせはしたことがないので、良く分かりません。 if文を使って100以上なら、1000以上なら、スペースを入れる等の方法が あるとは思いますが、ひとつひとつ入れるのは面倒ですね…。
やり方は、いろいろとありますが、動的に変更したい場合は何らかの「プログラミング言語」を使う事になります。 一番ポピュラーだと思うのは「PHP」で、タダの計算だとそんなに難しい事でもないのですが、これをその都度変わるレートを読み取り自動的にその時のレートで計算しようとすると大変な事になります。 1日1回、(朝にでも)人手でレートを入力し、「○月○日○時のレート」とかってやるのが、妥当だと思うのですが・・・
お礼
回答ありがとうございます。 PHPはワードプレスで良く使われているので「なんでHTMLじゃないんだろう」なんて思ってましたが、調べると計算以外にも凄く便利ですね。 特にヘッダーやフッターなどのパーツををバラバラに作っておいて、全部のページに簡単に張り付けられるのは編集の手間が大幅に省けて良さそうです。 でも、オフラインでプレビューするのが凄く大変そうなので、今回はjavaスクリプトを勉強してみます。 ありがとうございました。
補足
PHPは知っておけばヘッダーをページ毎にコピペする手間も減るから、この際に勉強しようと思ったのですが、オフラインでは確認できないようなので、今回はJavaScriptに挑戦しました。ガラケーは非対応でもアイフォンやアンドロイドでは対応してそうですし。 参考URLありがとうございました。 早速作ってみたのが <SCRIPT LANGUAGE="JavaScript"> var datA, datB, datC, datD, datE, datV, datW, datX, datY, datZ, datN, datN = 95; datA = 14.8; datB = 25; datC = 40.5; datD = 48.8; datE = 60; datV = datA * datN; datW = datB * datN; datX = datC * datN; datY = datD * datN; datZ = datE * datN; document.write("A商品 "+ datA +"$ ("+ datV +"円)<BR>"); document.write("B商品 "+ datB +"$ ("+ datW +"円)<BR>"); document.write("B商品10個 "+ datC +"$ ("+ datX +"円)<BR>"); document.write("D商品 "+ datD +"$ ("+ datY +"円)<BR>"); document.write("E商品 "+ datE +"$ ("+ datZ +"円)<BR><br><br>"); document.write("※1$="+ datN +"円の場合<BR>"); </SCRIP です。 で出力されたのが ---------------------------------- A商品 14.8$ (1406円) B商品 25$ (2375円) B商品10個 40.5$ (3847.5円) D商品 48.8$ (4636円) E商品 60$ (5700円) ※1$=95円の場合 --------------------------------- と出ます。 新たな欲求として、文字を揃えたいのですが… 商品名は を使った空白で調整するとして、 計算結果を全て 15.00のように小数点第一か第二までに揃えて表示する事は可能でしょうか?