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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0131
某B氏変数がint型になってしまう2未解決


某B氏

リンク

2007/1/31(Wed) 22:09:35|NO.5333

下記のスクリプトを実行すると「y2」と「zure」の変数が
int型に戻ってしまうのですが、どうしたらいいですか?
かれこれ4時間ほど苦戦中(;ω;)



if m2<=0 {
m2=m2*0.3
}
else {
m2=m2*0.4
}

y2=y2-m2

if y2<=190 {
y2=190-y2
zure=((60-y2)/100)*w1
}
if (y2>190)and(y2<=195) {
y2=y2-190
zure=((60+y2)/100)*w1
}
if (y2>195)and(y2<=200) {
y2=200-y2
zure=((66-y2)/100)*w1
}
if (y2>200)and(y2<=205) {
y2=y2-200
zure=((66+y2)/100)*w1
}
if (y2>205)and(y2<=210) {
y2=210-y2
zure=((74-y2)/100)*w1
}
if (y2>210)and(y2<=215) {
y2=y2-210
zure=((74+y2)/100)*w1
}
if (y2>215)and(y2<=220) {
y2=220-y2
zure=((82-y2)/100)*w1
}
if (y2>220)and(y2<=225) {
y2=y2-220
zure=((82+y2)/100)*w1
}
if (y2>225)and(y2<=230) {
y2=230-y2
zure=((91-y2)/100)*w1
}
if (y2>230)and(y2<=235) {
y2=y2-230
zure=((91+y2)/100)*w1
}
if (y2>235)and(y2<=240) {
y2=240-y2
zure=((102-y2)/100)*w1
}
if (y2>240)and(y2<=245) {
y2=y2-240
zure=((102+y2)/100)*w1
}
if (y2>245)and(y2<=250) {
y2=250-y2
zure=113-y2
zure=zure/100*w1
}
if (y2>250)and(y2<=255) {
y2=y2-250
zure=((113+y2)/100)*w1
}
if (y2>255)and(y2>=260) {
y2=260-y2
zure=((126-y2)/100)*w1
}
if (y2>260)and(y2>=265) {
y2=y2-260
zure=((126+y2)/100)*w1
}
if (y2>265)and(y2<=270) {
y2=270-y2
zure=((138-y2)/100)*w1
}
if (y2>270)and(y2<=275) {
y2=y2-270
zure=((138+y2)/100)*w1
}
stop



この記事に返信する


某B氏

リンク

2007/1/31(Wed) 22:14:01|NO.5334

追記です。

double型で宣言したにもかかわらず、int型に戻ってしまい、小数点以下が表示されない。
ということです。



GENKI

リンク

2007/1/31(Wed) 22:38:57|NO.5336

スクリプトはpreタグで囲むと見やすくていいですよ。


質問内容については、これが参考になるはずです。
「変数の定義について」
http://hsp.tv/play/pforum.php?mode=all&num=5316

上の記事を読めばわかると思いますが、一応例をあげておきます。

y2を実数型にしたい場合、
	y2=190-y2

とするのではなく、
	y2=190.0-y2

zureを実数型にしたい場合、
	zure=((66-y2)/100)*w1

とするのではなく、
	zure=((66.0-y2)/100)*w1
とします。

デバッグは規模を小さくして考えると見つけやすいです。
1行1行思ったとおりの動きをしているか確認しながら進めてみてください。



> かれこれ4時間ほど苦戦中(;ω;)

まだまだ(^ ^;



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