float
の小数点以下2桁までCppの平均値を印刷しようとしています。 avg
はfloat
,sum
はfloat
,count
はint
である。数値が全体でない限り小数点第2位に丸めます
現在、私が10/1を持っていると、たとえば10.00を出力します。例えば、avg
の値が3.1467665
の場合、出力は3.14
と表示されます。
avg = sum/count;
std::cout << std::fixed << std::setprecision(2) << avg;
出力は単なる丸めでなければなりません。 avg
を変更する必要はありませんが、それが簡単な場合は、その値を変更することができます。
C++ 11より前の標準を使用して解決策を探しています。
UPD:出力を27.50にすると27.50になります。
更新は*かなり*質問を変更します。もはや「丸め」*を求めるのではなく、むしろ「切り捨て」*を求めています。確かに、それは丸め(ゼロまたは無限大のいずれかに向かって)としてカウントされますが、「丸め」*という用語が孤立して見えるときに一般に期待されるものではありません。修正:質問を変更したのは更新プログラムではありませんでした。切り詰めの必要条件は最初からありました。提案された答えはそれに対処しません。 '3.1467665'に対して実行すると、' 3.15'が生成されます。 – IInspectable