![]()
![]() ![]() インターシステムズ(日) └日本語ドキュメント インターシステムズ(US) (有)エムブイビイ ダイナシステム(株) Googleグループ(英語) Googleグループ(日本語) George James Software cache'infoアーカイブ 【広告】
|
|
> Set a=00147 > Write a //これは他の言語でも同様かと 147 > Set a=0.05000 > Write a // ! .05 > Set a=-0.00100 > Write a // !! -.001 |
配列のキー部に入れる場合、数値化が可能な文字列は数値化されてキーに格納されてしまいます。
$Orderで順番に取り出そうとしてもうまくいかないので、注意してください。
> S array("1A")="" > S array("2B")="" > ZWrite array //正しくソートされていることを確認 array("1A")="" array("2B")="" > S array("10")="" //引き続き... > S array("20")="" > ZWrite array //表示すると、数値化されているため期待した並びにならない array(10)="" array(20)="" array("1A")="" array("2B")="" |
プラス記号を付けると、先頭から数値部分が取り出されます。
> Set a="42.195キロメートル" > Write +a 42.195 |
外部からの入力の場合は、先に文字列のパターンマッチによるフォーマットチェックを実施することを強く勧めます。簡単な例を次に示します。
> Set a="2E1000" > Write +a W +a ^ <MAXNUMBER> > if a'?1.N Write "数値ではない" 数値ではない |
3桁ごとに , が入ったりすると、フォーマットチェックも難しくなってきます。そんな時は$INUMBERを使いましょう。
> Write $INumber("19,800",",") 19800 > Write $INumber("19,80,0",",") //3桁ごとの区切りの,が正しくないので<ILLIGAL VALUE>エラーが発生 <ILLEGAL VALUE> > Write $INumber("1,980.55",",") 1980.55 > Write $INumber("19800.5.4", ",", "BAD") //小数点が2回出現。第三引数が指定されているので<ILLIGAL VALUE>エラーは発生しない BAD |
+ 足す、- 引く、* かける、/ 割る、\商、# 余り、** 累乗
演算は( )がない限り、全て左側から行われます。
> Write 2+3*4 //左から演算が実施されるので、先に2+3を実行 20 > Write 2+(3*4) // ()内が先に実行される 14 |
$NUMBER関数を使用します。$NUMBERの第2引数で小数点以下何桁の値が欲しいかを指定します。
> Write $Number(42.195,1) //四捨五入で小数点下1桁を要求 42.2 > Write $Number(42.195,2) //四捨五入で小数点下2桁を要求 42.20が得られ、表記上0が削られる 42.2 |
第2引数に0を指定すると整数が得られます。
> Write $Number(42.195,0) //四捨五入で整数を要求
42 |
第2引数に負の値nを指定すると 10^(ABS(n)) の位で丸められます。
> Write $Number(42.195,-1) //1の位を四捨五入 40 > Write $Number(512, -2) //10の位を四捨五入 500 |
$NORMALIZE(数値,-1)を使用します。
> Write $Normalize(42.195, -1)
42
> Write $Normalize(9.999, -1) //四捨五入ではない
9
|
$FNumberを使って数値を表示用に整形します。
> Write $FNumber(1000000, ",") //3桁ごとに,を表示 1,000,000 > Write $FNumber(1000000, "E") //対数表示 1.000000E+06 > Write $FNumber(123456.123456, ",", 2) //小数部分2桁を残して四捨五入 123,456.12 > Write $FNumber(0.05000,",",3) //小数点より前の0を落とさない。小数点以下3桁まで表示 0.050 > Write $FNumber(-0.05000,",",3) //マイナスでも大丈夫 -0.050 |
関数 | 概要 |
---|---|
$ZABS | 絶対値の関数です。 |
$ZARCCOS | 逆(アーク)コサイン関数です。 |
$ZARCSIN | 逆(アーク)サイン関数です。 |
$ZARCTAN | 逆(アーク)タンジェント関数です。 |
$ZCOS | コサイン関数です。 |
$ZCOT | コタンジェント関数です。 |
$ZCSC | コセカント関数です。 |
$ZEXP | 指数関数(自然対数の逆関数) |
$ZHEX | 16進数文字列を10進数値に、あるいは10進数値を16進数値に変換します。 |
$ZLN | 指定された数の自然対数を返します。 |
$ZLOG | 指定された正の数の式の、常用対数の値を返します。 |
$ZPOWER | ある数字に選択した数を累乗して返します。 |
$ZSEC | 指定された角度の三角関数のセカントを返します。 |
$ZSIN | 指定された角度の三角関数のサインを返します。 |
$ZSQR | 指定された数の平方根の値を返します。 |
$ZTAN | 指定された角度の三角関数のタンジェントを返します。 |