删除尾随零并在Matlab中使用6个小数点

时间:2012-05-09 09:02:44

标签: matlab printing printf

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

2 个答案:

答案 0 :(得分:3)

所以如果这是你想要的行为:

0.123456789 - > 0.123457(小数点后第六位)

999.123456789 - > 999.123457(小数点后六位,不论有效数字的数量)

1.123000000 - > 1.123(删除尾随零)

然后你可以使用%f:

fprintf('%.6f', number);

答案 1 :(得分:0)

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

>> fprintf('%.6g\n', 4087.145678);
4087.15

>> fprintf('%.6g\n', 45.2);
45.2