2014-10-08 28 views
1

我目前正在玩弄周圍使用tcsh並且Ive使腳本注意: 如果做除法只作爲論據腳本編程和顯著數字

即去(數字是輸出儘可能多的顯著人物輸入參數):

2/4 outputs 0 
4/2 outputs 2 
22/2 outputs 11 
1/8 outputs 0 
9/2 outputs 4 

那麼如何改變這個,所以1/8 = 0.125,2/4 = 0.5,9/2 = 4.5等?

+0

GNU/Linux的炮彈只能執行整數除法。但還有其他選項:http://unix.stackexchange.com/questions/40786/how-to-do-integer-float-calculations-in-bash-or-other-languages-frameworks – admdrew 2014-10-08 17:49:03

+0

可能的重複[如何我可以在bash中獲得一個浮點數?](http://stackoverflow.com/questions/12722095/how-can-i-get-a-float-division-in-bash) – admdrew 2014-10-08 17:50:21

回答

-1

您必須通過請求變量的數據類型來提供所需的內存空間。如果您將答案設置爲char類型的變量,則只有一個字符的空間。如果將變量類型設置爲float,則會爲內存準備一個十進制值。

+0

KornShell可以處理十進制值,但是Bourne像炮彈只能做整數。 – admdrew 2014-10-08 17:54:24

+0

好吧我想,但我怎麼定義一個變量是一個浮動? – 2014-10-08 17:56:44

+0

@JustinFroias你在用什麼shell? – admdrew 2014-10-08 17:57:37

0

使用任意精度計算器bc和規模設置你想要的精確度:

$ bc -e 'scale=10;1/8;4/5; scale=30; 1/31' 
.1250000000 
.8000000000 
.032258064516129032258064516129