如何在linux中将数字更改为科学数字?
数
0.000111309
科学数字
1.11E-04
使用awk,python或perl。感谢。
并且,如何从python中的许多科学数字中获得最小值?就像bash中的sort -g | sed -n '$p'
一样。
打印时python是否可以自动更改为Scientific Number? 我发现打印时0将变为0.000000e + 00。
答案 0 :(得分:1)
如果您需要科学记数法,则需要使用%e
或%E
格式说明符
使用awk
awk 'BEGIN{printf("%.2E\n",0.000111309)}'
1.11E-04
使用python
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'
>>>
使用perl
akshay@db-3325:~$ perl -e 'printf("%.2E\n",0.000111309)'
1.11E-04
使用bash
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