電卓の仕様についていくつか
JavaScriptで電卓を作ろうとしていたら、電卓によって微妙に仕様が違うことが分かったのでメモ。
まず iPhone の計算機は前から順に計算していくんじゃなくてイコールを押したときにそれまで入力したものをまとめて計算するという話はこちらのブログで説明されている通り。
知らなかったよ! iPhone電卓のロジック|ブルース小林とiMacのブログ
つまり「1」「-」「2」「*」「3」「=」の答えは
- iPhone だと -5
- Win XPの電卓やCanon の簿記電卓だと -3
また iPhone 系の計算機だと「+/-」を数値を入力する前から押せるけど、Win XPの計算機や 簿記電卓だとまず数を入力してからでないと押せない。
また「1」「+」「=」と入力したとき、
- iPhone だと「2」になる
- 簿記電卓だと「1」になる
また「+/-」がらみで「1」「+」「1」「=」「+/-」「=」と入力したとき、
- Win XPの計算機だと「3」になる
- iPhoneや簿記電卓は「-1」になる
このへんは演算子のあと特に数字を押さないで「=」を押したときのデフォルト値? の仕様の違いみたい。
細かいところだと Win XP の計算機や簿記電卓は「0.」と小数点が表示されてるけど、iPhone は「0」になってて「.」を押すまでは「0.」にはならない。
Dashboard の方の計算機は iPhone と違い前から計算していく、ってのは上のブログの説明の通りだけど、「+/-」ボタンが存在しない。
…などなど。計算機は見た目は似たようなものでも色々違うもんですね。