dポイントプレゼントキャンペーン実施中!

ASPでデータベースから値を引き出して計算させるプログラムを書いているのですが、計算結果の小数点が何桁か指定できなくて困っています。
---------------
HTMLのヘッダ等
<%
Do While Not ObjRS.EOF
Response.Write "BMI値"
Response.Write (ObjRS("TAIJYUU")/ ( ObjRS("SINTYOU")* ObjRS("SINTYOU")))*10000
ObjRS.MoveNext
%>
-------
のように計算させると小数点がズラーっと並んでしまいます;

tmp=Mid("------",X,Y)
Response.Write"<p>抽出:&tmp

を使えば指定文字数だけ抽出できるのかな考えたのですが、これをどこにどう入れたら良いのか分からず悩んでいます…;
わかる方いましたら、お手数ですがよろしくお願いします。

A 回答 (2件)

>だとFalseとなってしまいます


Basicの文法への理解が不足しているようですね。

表示するだけなら、
strNum = FormatNumber(・・・)
Response.Write strNum
または
Response.Write FormatNumber(・・・)
です。

strNum = FormatNumber(・・・)
これのみなら変数「strNum」への代入になります。
しかし、他の関数やステートメントの引数になる場合、真偽値を返すことになります。つまり、
IF strNum = FormatNumber(・・・) Then
で使われる「=」と同じです。
Dim b
b = (strNum = FormatNumber(・・・) )
とした場合、bには「True」か「False」が代入されます。
    • good
    • 0
この回答へのお礼

再度ご解答ありがとうございました…!
おかげ様で無事に問題が解決できました。

なるほど…文法からしっかり学んでいこうと思います^^;
分かりやすい説明までして頂き大変助かりました。ありがとうございました!

お礼日時:2009/10/27 13:48

計算結果をFormatNumber関数で表示しては?(第2引数が少数点以下の桁数指定)


http://www.kanaya440.com/contents/script/vbs/fun …

この回答への補足

ご解答ありがとうございます。
参考ULR見させて頂いたのですが、例えば3桁表示させたいときは
Dim strNum
strNum = FormatNumber(------, 3) ということまでは分かったのですが、これをResponse.Write のどこに入れれば良いのかわかりますでしょうか…;
<%
Dim strNum
Do While Not ObjRS.EOF
Response.Write "BMI値"
Response.Write strNum = FormatNumber((ObjRS("TAIJYUU")/ ( ObjRS("SINTYOU2")* ObjRS("SINTYOU2")))*10000,3)
ObjRS.MoveNext
%>
だとFalseとなってしまいます;初心者で申し訳ないです。
お時間ありましたらよろしくお願いします。

補足日時:2009/10/27 10:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!