科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数。e右边的数字如果是负数,则向左移动小数点。示例如下:1.2345678e2 = 123.45678
1.2345678e-2 = 0.012345678
1.7615562e+06 = 1761556.2
1.87982e7 = 18798200
1e3 = 1000
那么在shell中,如何转化科学计数法为数字呢,方法如下:这里以"1.7615562e+06" (或者1.7615562e6)为示例:[[email protected]~]# echo "1.7615562e6"| gawk '$1=strtonum($1)'
1.76156e+06
1)科学计数法转为十进制[[email protected]~]# printf "%f" 1.7615569e+06
1761556.900000
[[email protected]~]# echo "1.7615569e+06"| awk '{printf("%f",$0)}'
1761556.900000
[[email protected]~]# echo "1.7615569e+03"| awk '{printf("%f",$0)}'
1761.556900
[[email protected]~]# echo "1.7615569e+04"| awk '{printf("%f",$0)}'
17615.569000
[[email protected]~]# echo "1.7615569e-6"| awk '{printf("%f",$0)}'
0.000002
[[email protected]~]# echo "1.7615569e-4"| awk '{printf("%f",$0)}'
0.000176
[[email protected]~]# echo "1.7615569e-3"| awk '{printf("%f",$0)}'
0.001762
[[email prot