相关疑难解决方法(0)

浮点数学是否破碎?

请考虑以下代码:

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)

为什么会出现这些不准确之处?

language-agnostic math floating-point floating-accuracy

2798
推荐指数
28
解决办法
28万
查看次数

如何比较Bash中的两个浮点数?

我正在努力比较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的正确处理存在一些问题,这可能是"电子格式".:(

任何帮助,欢迎提示!

floating-point bash comparison numbers

125
推荐指数
10
解决办法
15万
查看次数

Shell脚本中的浮点比较

你能否告诉我在Bash脚本中进行浮点比较的语法?理想情况下,我喜欢将它作为if陈述的一部分.这是一个小代码片段:

key1="12.3"
result="12.2"

if (( $result <= $key1 ))
then
    # some code here
fi
Run Code Online (Sandbox Code Playgroud)

unix linux bash shell

19
推荐指数
4
解决办法
3万
查看次数