2

fprintf で %f と %g の組み合わせを利用したいと考えています。ゼロ以外の小数点以下が 6 桁ある場合は、末尾のゼロを削除し、小数点以下 6 桁を使用したいと考えています。%g はゼロを削除しますが、精度は小数点以下の桁数には影響しません。何をすべきか?

4

2 に答える 2

3

したがって、これが必要な動作である場合:

0.123456789 -> 0.123457 (小数点第 6 位を切り上げ)

999.123456789 -> 999.123457 (有効数字の数に関係なく、小数点以下 6 桁)

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 に答える