我希望在我的 fprintf 中使用 %f 和 %g 的某种组合。如果有 6 个小数不为零,我希望删除尾随零并使用 6 个小数点。%g 删除零,但这里的精度不影响小数点的数量。该怎么办?
问问题
4079 次
2 回答
3
因此,如果这是您想要的行为:
0.123456789 -> 0.123457(四舍五入到小数点后第 6 位)
999.123456789 -> 999.123457(小数点后六位,与有效数字位数无关)
1.123000000 -> 1.123(删除尾随零)
那么你可以使用 %f:
fprintf('%.6f', number);
于 2012-05-09T09:16:15.720 回答
0
您可以使用%.<n>g
,其中 n 定义要使用的最大位数。
>> fprintf('%.6g\n', 4087.145678);
4087.15
>> fprintf('%.6g\n', 45.2);
45.2
于 2012-05-09T09:58:28.263 回答