how rounde no. if third digit after floating more than 5
2 次查看(过去 30 天)
显示 更早的评论
hi, I want raounded a number, so I read this link about that http://www.mathworks.com/matlabcentral/answers/37262 But in this case , it rounde any no. ,while I want rounde number meet a condition. for example:
0.2371 be 0.2400
or
0.4546 be 0.4600
but this number 0.2330 , must be not equal 0.2400, must be the same i.e I want round number if the third digit after floating point equal or more than 5
Thanks in advance
2 个评论
Walter Roberson
2013-4-9
Then why would 0.4546 round to 0.4600 and not to .4500, considering that the third digit is not equal or more than 5 ?
Are you wanting to do this numerically or for display purposes?
采纳的回答
Walter Roberson
2013-4-10
sprintf('%.2f00', round(N * 100) / 100)
Though I admit to being puzzled as to why you want the misleading '00' at the end, why you want 0.2400 instead of 0.24
更多回答(1 个)
Jan
2013-4-10
If you want it just for displaying, what about:
sprintf('%.3f\n', [0.2371, 0.4546])
I'd definitly omit the trilaing zero, because it is not only confusing, but wrong.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Performance and Memory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!