ちくのう症(蓄膿症)は「菌」が原因!?

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

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

このQ&Aに関連する最新のQ&A

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に関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q切捨てする関数はありますか?

いつもお世話になっています。

数値を小数第二位まで表示して、残りは切り捨てたいのですが、ASPで切捨てを行う関数はないのでしょうか。
「ASP 切捨て 関数」等で検索をかけたのですが、見つけることが出来ませんでした。

ご存知の方は教えてください。
よろしくお願いいたします。

Aベストアンサー

「小数点以下を切捨てる」関数は、なさそうです。

少数部分を切り捨てる
Int関数または、Fix関数が提供されているので
それを利用して、ご自分で関数を作ってみてはいかがでしょう?

「小数点以下を四捨五入する」ならできますが。。。
Round関数で。

QVB初心者。小数点以下の表示でつまづいています(涙

上記内容で四苦八苦しているVB初心者です。

Microsoft Visual Studio / ActiveReportで帳票を作成しています。
DBからの値が、小数点以下ありの場合(例:1.7)の時はそのまま表示し、小数点以下が0の場合(例:1.0)の時、整数部分のみを表示させたいのです。

質問の『値』ですが、今回の値は小数点第一位までです。
#.0 の時 → # と表示。
#.1~9 の時 → そのまま表示。
としたいのです。

稼働環境はWinXP、Win7です。

ちなみにイメージしていただくために・・・
既に別の条件で、
『If H_数量.Text = "0.00" Then
H_数量.Text = ""
H_単価.Text = ""
End If 』
というコードを書いているのですが、この、『H_数量』が問題の値部分です。
H_数量 の値が小数点以下ありの時、0の時、
での条件式となります。

よろしくお願いします。

Aベストアンサー

>H_数量.Text = Format(H_数量.Text, "#,##0")
>は、全行 #,##0 と表示されてしまいました。

こちらは、.NETじゃないので確認はできませんが、
H_数量.Text = Format(Val(H_数量.Text), "#,##0")
のようにValを付けてみてください。
Val関数は、文字列を数値に変換する関数です。

Format関数は、本来は数値を文字列に変換する関数です。
VBは数値が入っている文字列も数値と解釈されることがあるため、Valを使わなくても大丈夫でしたが、
.NETではそれがダメなようです。
ただ、他の言語にしてみればそれが普通なんですけどね。

Qcssで「下よせ」ってどうやっていますか?

フロートのレフト、ライトはいいとして、

あるボックス要素内(A)に異なるボックス要素(B)をいれます。
この(B)を(A)の一番そこにはりつかせたい時にどうすれば
最もよいのでしょうか?

いいアイデアをご教授ください。

Aベストアンサー

こんなのはどうかな?

position: absolute;
bottom: 0px;


人気Q&Aランキング