いくつかのテキストボックスで作成されたフォームがあります。このフォームでは、浮動小数点数を入力し、この数値を使用して他のテキストボックスと合計し、結果をラベルに入れます。
次に、テキストボックスの値を変数(xbizおよびxbder)に入力し、それを合計すると、次の結果が得られます:xbiz = 5.2 xbder = 2.3
私の問題は、テキストボックスの1つが空の場合です(空白)スクリプトは「ILLEGALFLOATVALUE!」というエラーを表示します。つまり、2つの変数に値が入力されていない場合od
この問題をどのように解決できますか?
これが私のコードです:
#FORM
echo "FG 999999" >> $gui_in
echo "FONT cbr18" >> $gui_in
echo "BG 901010" >> $gui_in
echo "LABEL LOCATINES" >> $gui_in
echo "FG 101090" >> $gui_in
echo "FONT cbr18" >> $gui_in
echo "BG 708787" >> $gui_in
echo "TEXT xbiz X_BOT_IZQ" >> $gui_in
echo "TEXT xbder X_BOT_DER" >> $gui_in
#Calculation
set varx = `echo " $xbder + $xbiz" | bc -l`
#After calculate the values of the two variables (xbder + xbiz) I use the result in the following line:
COM display_layer,name=comp,display=yes,number=1
COM add_pad,attributes=no,**x=${varx},y=${varx}**,symbol=${sizefido},polarity=positive,\
angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,yscale=1
xbiz
またはxbder
が空の場合、bcは文句を言います(ここでbash)
$ echo "5.2 + " | bc -l
(standard_in) 2: syntax error
あなたは(テストされていない)のようなものが必要になるでしょう
if (! $?xbiz) set xbiz = 0
set varx = `echo " 5.2 + $xbiz" | bc -l`
if (! $?xbder) set xbder = 0
set vary = `echo " 5.2 + $xbder" | bc -l`