2

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

4

2 回答 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 回答