首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Matlab中去掉尾随的零并使用6个小数点

在Matlab中去掉尾随的零并使用6个小数点
EN

Stack Overflow用户
提问于 2012-05-09 17:02:44
回答 2查看 4.1K关注 0票数 2

我希望在我的fprintf中使用%f和%g的某种组合。如果有6个小数不为零,我希望去掉尾随的零,并使用6个小数点。%g删除零,但这里的精度不会影响小数点的数量。该怎么办呢?

EN

回答 2

Stack Overflow用户

发布于 2012-05-09 17:16:16

因此,如果这是您想要的行为:

0.123456789 -> 0.123457 (小数点后第6位四舍五入)

999.123456789 -> 999.123457 (六位小数,不管有多少有效数字)

1.123000000 -> 1.123 (删除尾随零)

然后,您可以使用%f:

代码语言:javascript
复制
fprintf('%.6f', number);
票数 3
EN

Stack Overflow用户

发布于 2012-05-09 17:58:28

您可以使用%.<n>g,其中n定义要使用的最大位数。

代码语言:javascript
复制
>> fprintf('%.6g\n', 4087.145678);
4087.15

>> fprintf('%.6g\n', 45.2);
45.2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10512918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档