如何将 e-05 转换为 0.0000

如何将 e-05 转换为 0.0000

当我尝试通过curl+jq解析html时,我看到它在哪里看到0.0000123,它打印例如1.23e-05。我该如何转换它?或者,如果很难,请编写一些 sed 或 awk 替代品。

答案1

使用 awk 你可以这样做:

$ echo 123.4567E-05 | awk '{printf "%5.8f\n", $1}'
0.00123457

%x.yf 确定您想要查看的输出格式。

然后,您可以使用您的curl ......pattern....| awk '{printf .........}'

答案2

大多数 printf 实现都可以进行转换:

printf '%5.4f' 1e-5==>0.0000
printf '%7.4f' 1.23e2==>123.0000
printf '%7.5f' 1.2324558e-2==>0.01232

$ echo 12.34567E-3 | awk '{printf "%5.10f\n", $1}'
0.0123456700

$ echo "123.56e-2" | perl -ne 'printf( "%03.7f\n", $_)'
1.2356000

$ cat php01.php
<?php
$number = 123.45678e1;
printf("%10.3f\n",$number);
?>
$ php php01.php 
  1234.568

相关内容