浮動小数点数を小数点第 2 位まで正確に切り捨てる
浮動小数点数の格納方法により、四捨五入せずに浮動小数点数を特定の小数点以下の桁に直接切り捨てるのは困難です。 標準的な丸め方法では、望ましくない丸め誤差が生じることがよくあります。
正確な切り詰めを行うための信頼できる方法には、次の手順が含まれます。
<code class="language-csharp">value = Math.Truncate(100 * value) / 100;</code>
このコードは、浮動小数点数を 100 倍し、Math.Truncate
を使用して小数部分を削除し (実質的に切り捨て)、結果を 100 で割って元のスケールに戻します。 3.4679 の場合、これは正しく 3.46 となります。
浮動小数点数は常に完全な 2 進表現を持っているわけではないことを覚えておくことが重要です。 したがって、切り捨てられた値と理論的に期待される結果との間に若干の差異が発生する可能性があります。
以上が浮動小数点数を四捨五入せずに小数点以下 2 位まで正確に切り捨てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。