アプリ版:「スタンプのみでお礼する」機能のリリースについて

UNIX Cシェルで実数の比較がしたいのですが、
うまくいきません
以下のような結果になります。
うまく判定するにはどうすればよいのでしょう

#!/bin/csh -f
set CONSIZE=-0.01
echo "CONSIZE = $CONSIZE"
@ CONSIZE = $CONSIZE
if( $CONSIZE < 0.0 )then
echo " 0以下;;; $CONSIZE"
exit
endif

実行
CONSIZE = -0.01
@: 数値形式が正しくありません。

A 回答 (1件)

整数しか扱えない為、そのままでは比較することができないようです。



bc を利用してみてはいかがでしょうか?

#!/bin/csh -f
set CONSIZE=-0.01
echo "CONSIZE = $CONSIZE"
set x = `echo "scale=3;if( $CONSIZE < 0 ) 1" | bc`

if( $x == 1 )then
echo " 0以下;;; $CONSIZE"
exit
endif
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

早速、実行してみました。
問題は解決です。
ありがとうございます。

お礼日時:2005/01/06 19:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!