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