当我尝试通过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