**変数 [#z8a915d3]
RIGHT:[[「ヘルプ補足」諸注意>../「ヘルプ補足」諸注意]]	
#contents


***システム変数「資金」 [#oe42c34d]
//関連項目:
//[[Moneyコマンド>ヘルプ補足/その他コマンド#s15017bb]]
//現在、Moneyコマンドの見出し下にはコンテンツがないので、コメントアウトしてます。
&color(red){◆保証未確認動作'''(確認ver2.2.27)'''};
最小値は ゼロ です。システム変数「資金」への代入や Money コマンドによってそれ以下にしようとしても ゼロ になります。
最大値は 999,999,999 です。システム変数「資金」への代入や Money コマンドによってそれ以上にしようとしてもこの値になります。また、2,147,483,648 以上の値にしようとしたら、
(1) Money コマンドのパラメーターにこの値以上を入れた場合は、コマンドが無視され
(2) 「資金」への代入や、Money コマンドによる増加の結果この値以上になるなる場合は、エラー「イベントデータが不正です」になります。

***数値の表記方法 [#g539cdfd]
&color(red){◆保証未確認動作'''(確認ver2.2.25)'''};
関連項目:
[[Format関数>ヘルプ補足/文字列処理関数#de98d77f]]
#hr

半角数字と小数点よりなる「ふつうの」表記方法のほかに、以下が可能です。
・ 「,」を交えた表記  例) i = 1,234,567
・ 浮動小数点表記  例) i = 1.234567E6('E'は小文字'e'でも可)

 標準的な書式ではありませんが、以下のような不規則な表記も可能です。
・ i = 12,3456,7
・ i = 1234.567E3
・ i = 12345670E-1
 これら5つの例はすべて、i = 1234567 の場合と同じ数値が入ります。代入後のデータは「,」や「E3」がついた形ではなく、SRC の標準的な数値データの形式(「1234567」)で保持されます。
(もちろん、
i = "1,234,567" や、
i = "1.234567E6" 
と「"」でくくって代入した場合は文字列として処理され、「,」「E3」は保持されます)

数値の冒頭に「¥」を加えた文字列も数値として認められます。この文字列を変数に代入すると、変数は「¥1234567」など「¥」がついたデータとして保持されますが、これを数値として演算した結果のデータでは「¥」が消えます。
 例:
 i = \1234
 Confirm "$(i) $(i + 1)"
 # "\1234 1235" と表示される

あまりおすすめできませんが、
・ i = 1234
のように、全角数字列を代入したデータも数値として認められます。代入されたデータは全角のまま保持されますが、数値演算をした結果のデータでは半角数字になります。
 例:
 i = 1234
 Confirm "$(i) $(i + 1)"
 # "1234 1235" と表示される

#br
 IsNumeric関数も、上記のさまざまな表記を数値として判別します。


*** 数値変数の有効範囲と精度 [#q098686c]
&color(red){◆保証未確認動作'''(確認ver2.2.25)'''};
数値の有効桁数は、15桁ちょうどです。これを超える桁は、''四捨五入''されます。(15桁というのは有効精度であって数の大きさではありません)
// 実測した結果であって、ソースコード解析はしていません。
 例: i = 1234567890123456789 と代入すると、実際に i に入る値は、上から15桁をとって、
         1234567890123460000 になります。

ただしこれは、単純な変数表示などの場合です。実際には、計算の途中で一度でも制限に引っかかるとそこで丸められます。また、関数やコマンドでは、VBの長整数型データ(-2147483648〜2147483647の整数値)などを使っている場合もあります。この場合もその時点で丸められます。なかにはRandom関数など、VBの短精度浮動小数点型(有効桁6桁強)を参照するSRC関数もあります。

$()によって正しく表示可能な数値の絶対値の大きさの範囲は、おおむね、最大で308桁、最小で小数点以下71桁までです。
// 以上、実測した結果であって、ソースコード解析はしていません。

以上のことは、数値データに対してのみあてはまります。
 i = "1234567890123456789" と代入されたデータは、文字列として扱われそのまま代入されます。しかし、
 i = i + 1 など、この変数 i を数値計算すると、その時点で数値として扱われ、丸められます。


***時間変数 [#e4ce53cd]
&color(red){◆保証未確認動作'''(確認ver2.2.25)'''};
関連項目:
[[Format関数>ヘルプ補足/文字列処理関数#de98d77f]]
#hr
システム変数Now で取得した変数だけでなく、これと同じ書式の変数は時間変数として取り扱うことができます。合致する書式は
 2007/7/2 3:21:6
 2007/07/02 03:21:06
のような文字列です。
この書式の変数は、時間データ処理関数(GetTime関数を除く)で処理できます。Format関数の日付/時刻書式も有効です。

 2007/7/2 のように日付だけのデータや
 3:21:6 のように時刻だけのデータも限定的には有効です。
ただし、日付だけのデータを時刻関係の関数の引数にするとゼロが返り、Format関数の時刻書式を適用すると不測の結果になります。
時刻だけのデータを日付関係の関数の引数にしたり、Format関数の日付書式を適用したりすると、1899/12/31 などの日付が返ってきます。

#br
----
**コメント [#ida5d9a7]
- 「配列の中の変数」はどうなるんでしょうか -- [[早苗☆]] &new{2010-02-26 (金) 07:31:07};
- えっと、どういう性質についての質問でしょうか? それから、配列のインデックスのことでしょうか、それとも配列の値のことでしょうか? -- [[あかんべえ]] &new{2010-02-26 (金) 08:37:35};

#comment_nospam