请考虑以下代码:
0.1 + 0.2 == 0.3 -> false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2 -> 0.30000000000000004
Run Code Online (Sandbox Code Playgroud)
为什么会出现这些不准确之处?
我正在努力比较bash脚本中的两个浮点数.我有变量,例如
let num1=3.17648e-22
let num2=1.5
Run Code Online (Sandbox Code Playgroud)
现在,我只想对这两个数字进行简单的比较:
st=`echo "$num1 < $num2" | bc`
if [ $st -eq 1]; then
echo -e "$num1 < $num2"
else
echo -e "$num1 >= $num2"
fi
Run Code Online (Sandbox Code Playgroud)
不幸的是,我对num1的正确处理存在一些问题,这可能是"电子格式".:(
任何帮助,欢迎提示!
你能否告诉我在Bash脚本中进行浮点比较的语法?理想情况下,我喜欢将它作为if陈述的一部分.这是一个小代码片段:
key1="12.3"
result="12.2"
if (( $result <= $key1 ))
then
# some code here
fi
Run Code Online (Sandbox Code Playgroud)