2017-03-15 93 views
1

如何在Linux中將編號更改爲科學編號?如何將科學編號更改爲科學編號並獲得最小值(科學編號格式)

0.000111309 

科學數

1.11E-04 

使用AWK,蟒蛇或Perl。謝謝。

而且,如何從python中的許多Scientific Number中獲得最小值?就像bash中的sort -g | sed -n '$p'一樣。

打印時python是否可以將自動編號轉換爲Scientific Number? 打印時,我發現0將變爲0.000000e + 00。

+1

這可以通過字符串作爲http://stackoverflow.com/questions/6913532/display-a-decimal-in-scientific-notation解釋 –

回答

1

如果您需要科學記數法,你需要使用%e%E格式說明

使用

awk 'BEGIN{printf("%.2E\n",0.000111309)}' 
1.11E-04 

使用

[email protected]:~$ python 
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import decimal 
>>> '%.2E' % decimal.Decimal('0.000111309') 
'1.11E-04' 
>>> 

使用

[email protected]:~$ perl -e 'printf("%.2E\n",0.000111309)' 
1.11E-04 

使用

[email protected]:~$ printf "%.2E\n" 0.000111309 
1.11E-04 
0
print "%.4g" % 80085 

將輸出:

8.008e+04 
+0

'%g'和'%G'格式化完成是科學記數法的簡化符'%e'和'%E' –

0

慶典可以用四捨五入至小數點後兩位數,做得一樣好

$ printf "%E\n" 0.000111309 
1.113090E-04 
$ printf "%.2E\n" 0.000111309 
1.11E-04