如何将数字更改为科学数字并获得最小值(科学数字格式)

时间:2017-03-15 15:53:29

标签: python linux perl sorting awk

如何在linux中将数字更改为科学数字?

0.000111309

科学数字

1.11E-04

使用awk,python或perl。感谢。

并且,如何从python中的许多科学数字中获得最小值?就像bash中的sort -g | sed -n '$p'一样。

打印时python是否可以自动更改为Scientific Number?  我发现打印时0将变为0.000000e + 00。

3 个答案:

答案 0 :(得分:1)

如果您需要科学记数法,则需要使用%e%E格式说明符

使用

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

使用

akshay@db-3325:~$ 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'
>>> 

使用

akshay@db-3325:~$ perl -e 'printf("%.2E\n",0.000111309)'
1.11E-04

使用

akshay@db-3325:~$ printf "%.2E\n" 0.000111309
1.11E-04

答案 1 :(得分:0)

print "%.4g" % 80085

将输出:

8.008e+04

答案 2 :(得分:0)

bash也可以这样做

$ printf "%E\n" 0.000111309
1.113090E-04

舍入到两位小数

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