2012-05-09 101 views
2

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

+0

请添加例子您的问题(测试用例) –

回答

3

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

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

999.123456789 - > 999.123457(六个小数位,无论显著位数的)

1.123000000 - > 1.123(删除尾随零)

然后就可以用%F:

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

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

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

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