gpt4 book ai didi

bash - 如何使用具有整数结果的变量来划分 float ?

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:16 25 4
gpt4 key购买 nike

answer=$(echo $(( length / 1024 )) | bc -l)

所以 length 是一个变量,其值类似于 2402267538.,需要除以 1024

执行这个会抛出这个错误

")syntax error: invalid arithmetic operator (error token is " 

最佳答案

当你这样做时:

echo $(( length / 1024 )) | bc -l

您已经在 bc -l 之前丢失了小数点后的部分,因为 $(( length/1024 )) 执行整数除法。

您可以像这样使用 bc -l:

length="2402267538"
answer=$(bc -l <<<"scale=2; $length / 1024")
echo "$answer"

2345964.39

使用 awk 更详细一点:

answer=$(awk -v len=$length 'BEGIN{printf "%.2f\n", len/1024}')
echo "$answer"

2345964.39

或者这个:

answer=$(awk -v len=$length 'BEGIN{printf "%d\n", len/1024}')
echo "$answer"

2345964

关于bash - 如何使用具有整数结果的变量来划分 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36216164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com