2012-05-09 102 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