【问题标题】:How change a number to Scientific Number and get the minimum value (Scientific Number format) [duplicate]如何将数字更改为科学数字并获得最小值(科学数字格式)[重复]
【发布时间】:2017-08-06 11:40:12
【问题描述】:

如何在linux中将数字转换为科学数字?

数字

0.000111309

科学数字

1.11E-04

使用过 awk、python 或 perl。谢谢。

而且,如何从 python 中的许多科学数中获取最小值?就像 bash 中的 sort -g | sed -n '$p'

python是否可以在打印时自动将数字更改为科学数字? 我发现打印时 0 会变成 0.000000e+00。

【问题讨论】:

标签: python linux perl sorting awk


【解决方案1】:
print "%.4g" % 80085

将输出:

8.008e+04

【讨论】:

  • %g%G 是科学记数法浮点数 %e%E 的简化符
【解决方案2】:

如果您需要科学记数法,则需要使用 %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

【讨论】:

    【解决方案3】:

    bash 也可以这样做

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

    四舍五入到小数点后两位

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      相关资源
      最近更新 更多