【问题标题】:Rounding a decimal number in MATLAB在 MATLAB 中舍入十进制数
【发布时间】:2013-08-08 21:02:11
【问题描述】:

如何在 MATLAB 中将像 26,548746540516 这样的十进制数四舍五入到 26,5487

【问题讨论】:

    标签: matlab


    【解决方案1】:

    你可以使用round如下

    round(x*10000) / 10000.0
    

    或者,您可以使用round2

    round2(x,0.0001)
    round2(x,1e-4) 
    

    【讨论】:

    • 请注意,round2 不是内置函数(还没有?)。
    【解决方案2】:

    如果它是纯粹的显示,您也可以尝试使用格式化输出的 sprintf()。您想要的语法是 sprintf('%.4f',26.548746540516); 您可以看到需要将数字更改为变量的位置,并且可以轻松更改小数点后显示的数字(例如,之前也使用 %2.4f) .

    【讨论】:

    • 不,它不是纯粹的显示,我想将它保存在变量中,逗号后只有 4 位...
    • 在它周围放一个 str2double() ,这是另一种解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    相关资源
    最近更新 更多