• ベストアンサー

Javascriptで、以下の様な足し算をする場合、

Javascriptで、以下の様な足し算をする場合、 aからdのいずれかが空白の時には計算結果が表示されません。 いずれかが空欄の場合はその値をゼロとみなして計算結果を 表示したいのですが、記述方をご教授頂けないでしょうか。 用いる演算は、足し算と引き算のみを想定しています。 基本的な内容かとは思いますが、宜しくお願いします。 <script> var a = 1; var b = 3; var c = 5; var d = 7; document.write(a+b+c+d); </script>

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.2

parseInt() でいけると思ってましたが、基数変換でした。数値型変換は Number() ですね。 var a = 1; var b = ''; var c = 5; var d = null; var result = Number(a) + Number(b) + Number(c) + Number(d); alert(result); Number - MDC https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Global_Objects/Number parseInt - MDC https://developer-stage.mozilla.org/ja/Core_JavaScript_1.5_Reference/Global_Functions/parseInt

juniper_se
質問者

お礼

think49様 早速のご返答有難うございます。 期待通りの結果を得ることができました。 有難うございました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

document.write(a*1+b*1+c*1+d*1);

関連するQ&A

  • EXCELの足し算について

    質問です EXCEL2000で『=A1+B3+・・・』という感じで 加算演算子を用いた足し算を行なおうとしたんですが 対象となっているセルには数値が (直接数値が入力されているもの以外に 『=A5』や『=C1+D2』のような四則演算もあります) 多数入っているにもかかわらずなぜか 合計が0となってしまうのです なお ・「ツール」→「オプション」→「計算方法」は「自動」 ・対象となるセルの表示形式は「数値」にしています ・対象のセルは合計25個あります どうして0になってしまうのでしょうか 大変困っています 是非アドバイスをお願いいたします!!

  • フォームの要素同士の足し算

    こんにちは。フォームの要素同士の足し算をJavascriptで行おうとしているのですが、要素を文字列と解釈するらしく、うまく演算ができません。。。。 function calcTOTAL(){ var a=10; var b=20; var c=a+b; // この場合は30で演算もOK var sub0; var sub1; if(isNaN(document.forms[0].elements['aaa'].value)){ sub0=0; }else{ sub0 = document.forms[0].elements['aaa'].value; } if(isNaN(document.forms[0].elements['bbb'].value)){ sub1=0; }else{ sub1 = document.forms[0].elements['bbb'].value; } var c=sub0+sub1; // これは文字列同士になってしまう。。。 } どちらも数字でなければ 0 が入って 0+0になるはずなのですが 結果は 00 になってしまいます。 どのように修正したら 数字同士の演算ができるようになるのでしょうか?

  • javascriptでtoFixedを切り捨てに

    javascriptの知識が乏しく苦戦しております。 レートを含む計算式をサイトに載せる時に、変動する数字を書きなおして、電卓で計算するのが手間で、 変動した数値を代入するだけで計算結果が表示されるようにしたいと思います。 javascriptを使えばできるかと思い、書いてみて、四捨五入での形式ではなんとか形になったのですが、後から四捨五入ではなく小数点以下切り捨てで表示させたいと思いました。 切り捨ての際の書き方がわからず、上手くいかないのでご助言いただけますと幸いです。 ■下記が現状です <SCRIPT LANGUAGE="JavaScript"> <!-- var a; var b; var c; var d; var e; var f; var yakujyo; var risoku; var uketori; a = 20000; b = 1.0275; c = 90.10; d = 0.1025; e = 129; f = 360; yakujyo = (a * b * c).toFixed(0); risoku = ((a * d ) * (e / f) * c).toFixed(0); uketori = ((a * b * c) + ((a * d ) * (e / f) * c)).toFixed(0);   bb = (b * 100).toFixed(2); dd = (d * 100).toFixed(2); //計算式 document.write ("<h3>計算式(為替:1オーストラリアドル=",c,"円と仮定)</h3>"); document.write ("◆2万オーストラリアドルを購入、債券単価",bb,"%の場合<br />"); document.write ("<b>約定代金</b>&nbsp; ",a,"AUD×",bb,"%×",c,"円=",yakujyo.replace(/(\d)(?=(\d{3})+$)/g, "$1,"),"円<br />"); document.write ("<b>利息</b>&nbsp; ",a,"AUD×",dd,"%×(",e,"/",f,")※×",c,"円=",risoku.replace(/(\d)(?=(\d{3})+$)/g, "$1,"),"円<br />"); document.write ("<b>受取金額</b>&nbsp",yakujyo.replace(/(\d)(?=(\d{3})+$)/g, "$1,"),"円+",risoku.replace(/(\d)(?=(\d{3})+$)/g, "$1,"),"円=",uketori.replace(/(\d)(?=(\d{3})+$)/g, "$1,"),"円<br /><br />"); // --> </SCRIPT>

  • javascriptで繰り返し処理

    javascript初心者です。 指定した回数だけ計算を続けるjavascriptを作成したいです。 たとえば・・・ A=1000、B=20、i=5 とすると、 A-B、その計算結果-B、さらにその計算結果-B・・・と、 引き算を5回繰り返し、Cというフィールドにその計算結果を表示させたいです。 1000-20=980 980-20=960 960-20=940 940-20=920 90-20=900 C=900 どのように記述すればいいのでしょうか? お願いいたします!!

  • IF関数についてです

    A2のセルには=T26-B41の引き算されるようになっています。 その引き算の結果が0の場合、空欄と表示されます。 C2のセルに=IF(A2="","","○")と入れています。A2が空欄だと○と表示されないようにしているのですが空欄でも○と表示されます。なぜなのでしょうか?

  • javascriptで日付の足し算できますか?

    javascript初心者です。宜しくお願いします。 javascriptで日付の足し算はどうやってやればいいのうでしょうか? 例えば今日から10日後を計算する場合、 a=new Date() b=a+10 と書いてもうまくいきません。どうすればいいのでしょうか?

  • Delphiで論理積の足し算?

    Delphiでa=17を 0x0Fで論理積したものにb=2を足したいのですが [DCC エラー] SDIMAIN.pas(92): E2015 この型には指定した演算子は使えません となります。Integer型の論理積や足し算をしてInteger型に代入する方法はありますか? procedure TSDIAppForm.Button1Click(Sender: TObject); var a, b, c : Integer; begin a := 17; b := 2; c := (a and #$0F) + b; //c := a + b; ShowMessage(Format('c=%6d', [c])); end;

  • エクセルの足し算の関数について

    エクセルの足し算の設定について質問です。 とてもシンプルな計算式で、あるセルに、仮に =A + B + C という 足し算を設定しようとしています。 Aは、計算結果を入れようとしているセルと同じシートにある別のセルとイコールで結びます。 BとCは、他のシートにあるセルを参照しようとしています。 参照先のセルは、複数のセルを結合したもので、 =B1 + B3 + B5 + B7・・・・といったような少し長めの足し算が入っています。 これで計算結果を反映しようとすると、#VALUE! エラーとなってしまいます。参照先のシートの構成などはできれば変えたくありません。 どのように直せばいいのでしょうか? 詳しい方ご教示お願いいたします。

  • ACCESS2007 クエリで足し算したいができない。

    クエリで、足し算をしたいのですができません。 例えば、A+B=Cをしたいのですが、クエリ内でAとBが0のデータが空白になってしまっていて、足し算ができません。 AとBに数字が入っている場合は、足されています。 規定値を0に設定すればいいみたいですが、それがわかりません。 規定値を0に設定とはどうやるのですか? 元になっているテーブルに設定するのですか? クエリの方に設定するのですか?

  • 8桁までの足し算を教えてください。

    出力用紙の都合で、計算結果が最大8桁となる縦計算の結果を、 Excelで元数字、合計数字ともにセル1つに数字1つを入れるかたちで 表示させる式が欲しいのですが、私がこれまでに持っている知識 だけでは式がやたら長くなってしまいます。 例)A1~A8、A2~H2、A3~H3 の和をA4~H4に表示する場合 =MID(RIGHT(" "&(($A1&$B1&$C1&$D1&$E1&$F1&$G1&$H1)+($A2&$B2&$C2&$D2&$E2&$F2&$G2&$H2))+ ($A3&$B3&$C3&$D3&$E3&$F3&$G3&$H3)),8),COLUMN(A1),1) コレをA4に貼ってB4~H4にコピーペースト。 …というようなことしか思いつかないのですが、 たった3行の計算結果を表示したいだけでこんなに長くなってしまいます。 仮に20行分の計算結果を求めたいとしたら +($A*&$B*&$C*&$D*&$E*&$F*&$G*&$H*) の部分を20行分も後ろに書き連ねることになってしまいます。 これを『より簡単な式で』8分割された個々のセルに最大8桁の数の計算結果を 正しく表示させるための方法は無いでしょうか? テキストを図的に示す技量がないため大変解りづらくて申し訳ないのですが、 良い方法をご存知の方はぜひお教えください。

専門家に質問してみよう