0
在shell腳本中,我想將23.343輸出爲2.334E + 1。當使用printf "%.3E\n" 23.343
時,我得到了2.334E + 01。那麼如何通過printf中的一些技巧去除0?還有一種方法可以通過printf輸出上述數字爲0.233E + 02?如何在printf中刪除科學記數法中的0
在shell腳本中,我想將23.343輸出爲2.334E + 1。當使用printf "%.3E\n" 23.343
時,我得到了2.334E + 01。那麼如何通過printf中的一些技巧去除0?還有一種方法可以通過printf輸出上述數字爲0.233E + 02?如何在printf中刪除科學記數法中的0
隨着printf本身,你不這樣做:
選擇e,E雙參數呈圓形,並且轉換的風格[ - ] d.ddde±日哪裏有小數點前有一位指數總是包含至少兩個數字;如果該值爲零,則指數爲00.
但是在例如擊,可以手動從指數中刪除零:
$ x=$(printf "%.3E\n" 23.343)
$ $ echo "${x/E+0/E+}"
2.334E+1
(我錯過了問題的另一部分。)
謝謝!是否可以輸出數字爲0.233E + 02? – user6948979
@ user6948979,哦,我誤讀了,我只注意到了指數部分。同樣的手冊說小數點前總是有一位數字......並修復這將會有點多... – ilkkachu