代码之家  ›  专栏  ›  技术社区  ›  ashish_k

Linux中使用expr实用程序的浮点运算

  •  0
  • ashish_k  · 技术社区  · 7 年前

    38/1024 = 0.0371
    

    当我表演时: echo "scale=2; 15 / 0.0371" |bc ,它给我的结果是:

    404.31
    

    但是,当我表演时: echo 'scale=2; 15/(38/1024)' |bc ,输出为:

    500.00
    

    为什么结果不同。

    我需要输出 404.31 从第二个命令。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Amit Bhardwaj    7 年前

    这是因为第二种情况下的浮点精度不同。

    在第一种情况下,您正在使用 0.0371 38/1024 精度为2个小数点 0.03 .

    echo "scale=2; 15 / 0.03" |bc
    

    因此输出不同。

    如果你想要和第一次一样的输出,就用4的比例

    echo "scale=4; 15/(38/1024)" |bc
    
    推荐文章