Calcbot:計算と四捨五入の挙動の件


CalcbotCalcbot の計算時の挙動や四捨五入の結果に関して、App Storeのレビュー欄でご指摘がありましたので、解説しておきます。

まず、計算時の挙動の件。「2+3*3=11になるが、手元の電卓では15になるはずだ、これは電卓ではない、騙された」などというレビューがありまして…(´・ω・`)

どうやらこれ(2+3*と入力した時点で加算が実行され5になる)は、実機の電卓でもいわゆる通常型に共通する挙動のようです。一方、関数・プログラム電卓と呼ばれるタイプは=を押すまで一切の計算を実行しないのが一般的なようで、結果として2+3*3=11となります。

Calcbot、Apple純正の計算機、Macの計算機アプリケーションなどは後者に準拠していると思われます。また、Windows XP付属の計算機アプリケーションでは、通常モードでは前者、関数モードに切り替えると後者の挙動を示すそうです。

というわけで、どちらが誤りだというわけではありません。「騙された」などと誹られるのは心外です。通常モードの動作を希望される声が多ければ、開発元に要望をあげることも検討します。

あと四捨五入の件ですが、厳密には「最近接偶数への丸め」(端数が0.5より小さいなら切り捨て、端数が0.5より大きいならば切り上げ、端数がちょうど0.5なら切り捨てと切り上げのうち結果が偶数となる方へ丸める)の挙動を示すようです(マイクロソフトでは「銀行型」と呼んでいるようですね)。これに関しては開発元に確認のうえ、現状では「通貨の四捨五入」となっている箇所を「通貨の端数を丸める」などにする方向で、訳語の修正を検討します。