私のMS Excelでは、データ型ごとに丸め操作の動作が異なります。
シングルの場合:
? Application.Round(6.575!, 2)
6.57
ダブルの場合:
? Application.Round(6.575#, 2)
6.58
理由を知っている人はいますか?
更新: @paxdiabloは優れた回答を提供したので、ここで簡単に再現します。
単精度では、6.575 はバイナリ表現で 0 10000001 101001 0011 0011 0011 0011、または 6.57499980926513671875 です。これは 6.57 に丸められます
倍精度ではさらに 0011 が追加され、それらの重みは数値を 6.575 (6.57500000000000017763568394003) よりわずかに大きくするのに十分なため、6.58 に丸められます。