This question already has answers here:
Closed 2 years ago.
Division in script and floating-point
(6个答案)
我有一个bash脚本,它将数字除以100。
for ((i=0; i< ${#array2[*]};  ++i))
do
    if ! [[ "${array2[$i]}" =~ ^[0-9]+$ ]]
    then
        echo "Converting time of speaker ${array2[$i]} to seconds"
    else
        array3[$i]="$((${array2[$i]}/100 ))"
        echo "${array3[$i]}"

    fi
done

它不是用浮点数给我答案,而是用整数给我答案。
我怎样才能得到浮点数的答案?

最佳答案

array3[$i]="$((${array2[$i]}/100 ))"

您可以使用以下命令代替此行:
array3[$i]=$( bc <<< "scale=2; ${array2[$i]} / 100" )

关于linux - Bash中的浮点除法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45856945/

10-11 05:17