HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1001
初心者演算子について8解決


初心者

リンク

2009/10/1(Thu) 21:17:28|NO.28094

こんばんは。

演算子についてわからないことがあるので教えてください。

入力された数字に決まった小数点以下3桁の数字をかける計算をしたいんですが、

0.01や0.031のような数字を入れると計算できないんですが、

整数でないと計算できないのでしょうか?


<現状>

// 変数指定
value1 = "答えは" ; 文字列型変数

; 文字表示位置
pos 10, 20 : mes "計算します"
pos 10, 50 : mes " さ "
pos 10, 70 : mes " しす "
pos 10, 90 : mes " せそ "

; オブジェクトの表示位置
pos 70, 50

; 入力ボックス設置
input a, 50, 20, 4
input b, 50, 20, 4
input c, 50, 20, 4

button "GO", *check
stop

*check ; ボタンを押した時の処理

a *= 4
b *= 36
c *= 35


dialog ""+value1+"\n"+ ( a + b + c )+"

と、なっています。

*checkへジャンプしたときの処理の中の

     a *= 4
b *= 36
c *= 35

この、かける数字を4,36,35ではなく、

4→0.04
36→0.036
35→0.035

をかけたいんです。

ですが、このまま0.04や0.036や0.035と、記述してしまうと、

クリックしたときにどんな整数を入力ボックスabcにいれても0になってしまいます。

少数点の数字はかけられないのでしょうか?

宜しくお願い致します。



この記事に返信する


荒河 軒持

リンク

2009/10/1(Thu) 21:42:29|NO.28095

つ[double関数、int関数]



初心者

リンク

2009/10/1(Thu) 21:52:58|NO.28096

返信ありがとうございます。

すいません、超初心者なもので 

つ[double関数、int関数]

が何なのか、どうすればよいのかがわかりません。

もう少し崩して頂けると助かります。。。

折角お返事頂いたのに申し訳ありません・・・。

宜しくお願い致します。



足利超神

リンク

2009/10/1(Thu) 22:09:37|NO.28097

HSPでは基本的に13や81は「整数」として受け取られ
13.0や81.9は「実数」と成ります。
「実数」と「実数」の計算結果は実数で返されますが、
「整数」と「実数」の計算結果は「整数」で返されるため、0に成るんだと思われます。
double関数を使うといいですよ。
double()で囲んだ数字は「実数」となり、
double(30)とかけばHSPは「実数」の30.0と受け取ります。

よくわからなかったらすいません。
ネットランナー読みながらやってるもので・・・



通りすがり

リンク

2009/10/1(Thu) 22:14:50|NO.28098

基本的なことが調べにくいのがHSPの難点ですね。

普通にインストールしていれば、ここらに記述があります。
file:///C:/Program%20Files/hsp31/docs/hspprog.htm#prog2_6
目を通しておくといいのではないでしょうか。



荒河 軒持

リンク

2009/10/1(Thu) 22:52:31|NO.28099

HSP標準のhtmlに良く目を通しておくといいですよ。



初心者

リンク

2009/10/2(Fri) 00:00:25|NO.28101

荒河 軒持
足利超神
通りすがり
    様

お返事ありがとうございました。

HSPでは基本的に13や81は「整数」として受け取られ
13.0や81.9は「実数」と成ります。
「実数」と「実数」の計算結果は実数で返されますが、
「整数」と「実数」の計算結果は「整数」で返されるため、0に成るんだと思われます。
double関数を使うといいですよ。
double()で囲んだ数字は「実数」となり、
double(30)とかけばHSPは「実数」の30.0と受け取ります。

これを何度も何度も何度も読んだら意味がわかりました。

で、ちゃんと小数点表示と、計算ができました。

ありがとうございました。

ついでで申し訳ないんですが、

計算と表示は小数点になりましたが、

結果反映した時の小数点が「0.000000」と、「 0 」が

多いんです。

これは「 0.000 」くらいにはならないものでしょうか・・・。

あまり0が沢山だとみにくくて・・・。

宜しくお願い致します。



うわらば

リンク

2009/10/2(Fri) 00:36:10|NO.28102

strf命令を調べて見て下さい。
第一引数を"%.3f"の様に指定すると実数型で、小数点以下3桁までの表示になります。



初心者

リンク

2009/10/3(Sat) 09:24:15|NO.28111

うわらば 様

ありがとうございます〜

できましたー。

スッキリしましたーw

返答頂きましたみなさまありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.