タイトル | : Re: LET文について |
記事No | : 2431 |
投稿日 | : 2007/10/28(Sun) 22:32 |
投稿者 | : 入川@松戸 |
長谷川さん
> V30(分母)には"0",V29(分子)には"397"が入っていて, > > LET Z1=ROUND(VAL(V29)*100/VAL(V30),0,0); > > を実行したその結果Z1には"0"が入らず、その直前で計算 > した値が残っていました。"0"が入るとばかり思って > いたので原因を追及するのに大変でした。 > > 式の前に LET Z1=0; を入れました。目論んだ通り > "0"の値を得られました。
LET文では、除数が0の時は計算しません。(Z変数の値は変わらないということです) ですから、ここでは、式の前に定義した LET Z1=0; がそのまま残っています。
LET文で計算させる場合は予め除数が0かどうかチェックして、0の時は別ルーチンに飛ばす必要があります。
指令‘CAL’の場合は除数が0の場合、結果は‘********’になりますね。
|