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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0613
こん変数の型について4解決


こん

リンク

2010/6/13(Sun) 22:09:03|NO.33261

randomize
x=(rnd(1000)-500):x=double(x)/100
pos 0,0:mes x

x=double(x):x=(rnd(1000)-500):x=x/100.0
pos 0,16:mes x

x=0.0:x=(rnd(1000)-500):x=x/100
pos 0,32:mes x

実数の乱数を作るためにいろいろやったのですが、
上の式では実数になりますが、下の二つでは整数になってしまいます。
HSPでは一度変換した型は保持されないのでしょうか?
保持されないとしても一番下の式は100.0と実数で割っているので、実数に
変換されそうな気がするのですが。
どういう規則になっているのでしょうか。
混乱しています。



この記事に返信する


test

リンク

2010/6/13(Sun) 22:30:22|NO.33262

変数の型は、式の左側に合わせられます。
x=double(x)/100
では、/の左が実数、右が整数なので、実数となります。
x=(rnd(1000)-500):x=x/100.0
は、1つ目の式で整数となっているので、2つ目の式では/の左のxは整数、右は実数となり、整数で答えが出ます。
x=x/100
も同様です。 HSPの変数の型は簡単に変わるので、
x=double(x)
x=0.0
として実数にしても次の式で整数になっています。



木村

リンク

2010/6/14(Mon) 22:00:34|NO.33272

 ちなみに、if文等で利用する条件式も左側の変数の方に右側を無理やり合わせていたりします。
 以下は一例

if 3=3.1415926535897932384626 : mes "3=int(3.1415926535897932384626)" if 0="ひゃっはー" : mes "0=int(\"ひゃっはー\") if "314"=314 : mes "\"314\"=str(314)"



こん

リンク

2010/6/16(Wed) 20:09:53|NO.33292

左側に合わせるんですかー。

しかしこれかなりややこしくないですかね????
初心者向けということの配慮でしょうが、最初に変数と型を宣言する方がよほど
わかりやすいような・・・・・・
変数名のタイプミスも分かりますし

お二人さまご回答ありがとうございました!



こん

リンク

2010/6/16(Wed) 20:10:36|NO.33293

解決済みにしわすれました。



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