shell 中對小數進行比較的方法總結

2021-07-24 09:03:09 字數 669 閱讀 2396

寫個排程器需要對小數之間進行大小比較,經查詢shell中 可以用 bc 對小數進行運算

example:

#echo 5.5+1.1 | bc

6.6具體情況#man bc

1. 自己的解決方法,判斷小數點後最多有幾位數(n),然後對將要比較的兩個數值進行 乘與10的n次方

也就是將小數點去掉來進行比較(小數點後位數多的直接去掉小數點,少的用0補齊)

example:

6.6 x 10 >5.5x10   66>55

6.6666 x 10000 > 5.5 x10000    66666>55000

當然,如果你確定小數點後最多肯定不會超過4位你可直接去掉10000,類推。。

2. 直接用awk

awk -v num1=6.6 -v num2=5.5 'begin'

如果num1>num2列印輸出0,否則輸出1

3.expr

比較妙的方法 expr $a \> $b

返回1表示$a>$b, 0表示$a<$b

# a=6.6 b=5.5;expr $a \> $b

14. br

用br其實也是可以實現

echo "6.6>5.5" |br

1echo "5.5>6.6" | br

0

shell中對小數進行比較的方法總結

中對小數進行比較的方法總結 rel noopener noreferrer shell 中對小數進行比較的方法總結 wowo 寫個排程器需要對小數之間進行大小比較,經查詢shell中 可以用 bc 對小數進行運算 example echo 5.5 1.1 bc 6.6具體情況 man bc 1.自己...

jquery中對小數進行取整

var uu math.floor 5.36 向下取整 結果為5 var uu math.floor 5.88 結果為5 math.ceil 5.33 向上取整,結果為6 math.round 5.55 四捨五入 結果為6 math.round 5.22 結果為5 對多位小數進行四捨五入 num是要...

ORACLE中對LONG型別進行處理的方法

1.在block中處理 不過pl sql 只能處理不超過32k的資料,超過這個限制,就無法通過pl sql來處理。sql set serverout on sql begin 2 for i in select from t long loop 3 if instr i.long col,world...