부동 소수점 숫자를 입력하고 해당 숫자를 사용하여 다른 텍스트 상자와 합산하고 결과를 레이블에 넣는 여러 텍스트 상자로 구성된 양식이 있습니다.
그런 다음 텍스트 상자의 값을 변수(xbiz 및 xbder)에 입력하고 합산합니다. 예를 들어 다음 결과를 얻습니다. xbiz = 5.2 xbder = 2.3
내 문제는 텍스트 상자 중 하나가 비어 있을 때입니다.(공백) 스크립트에서 "잘못된 부동 소수점 값입니다!" 오류가 발생합니다. 이는 두 변수 중 하나에 값을 입력하지 않는다는 의미입니다.
이 문제를 해결하는 방법?
이것은 내 코드입니다.
#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
답변1
xbiz
bc는 비어 있으면 불평합니다 xbder
(여기서 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`