Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2015年03月09日] [更新 2015年03月09日] Delphi 一般・その他
Windows 7 の電卓 - 浮動小数点形式の入力方法
動作確認等 Windows 7 U64(SP1)
[整理番号 - 0970]







01_Windows 7 の電卓 - 浮動小数点形式の入力方法


以下のように操作します.
まず,表示を関数電卓にします.




ここでは,単に数値の入力だけの確認とします.そのために,あらかじめ [CE] と [C] をクリックして,全ての数値をクリアします.




-3.9223669552E+06 という値を入力するものとします.
-3.9223669552 までをキーボード,あるいはコピペして入力します.
指数形式を意味する [Exp] ボタンをクリックしてから,指数部分の [6] をクリックします.[Exp] ボタンの代わりに,キーボードの [E] でも入力できます.
これで入力が終了です.




[=] ボタンをクリックすると,以下のように,固定小数点形式の表示に変わります.




[F-E] ボタンをクリックすると,固定小数点形式と浮動小数点形式の表示が切り換わります.








02_クリップボードから値を貼り付ける際の注意


クリップボードから値を貼り付ける時は注意が必要です.
今回の例である -3.9223669552E+06 を貼り付けた結果が下図です.
この状態で = (イコール) キーをクリックすると,-3.9223669552 + 6 という計算結果を表示することになってしまいます (計算結果は 2.0776330448).指数部を意味する E が大文字の場合,認識してくれないようです.



[備考]
電卓の数値の表示部分の上の行は,前に入力した値です.その右が演算子です.下の大きな文字の行が今現在入力中の値です.-3.9223669552E+06 という値をクリップボードから貼り付けた場合,E が無視されて -3.9223669552 + 06 という式が貼り付けられたことになります.
例えば -3.9223669552 + 06 = という,= (等号記号,イコール) を付けた値をクリップボードから貼り付けると,自動的に計算して,2.0776330448 という値を表示します.




下図は,指数部の E を,小文字の e にして,-3.9223669552e+06 を貼り付けた結果です.
指数部の 0 は省略されていますが,数値そのものは正しくセットされていることが分かります.

この大文字と小文字の関係が,Windows 7 の電卓特有の仕様なのか,システム関係の設定によるものなのかは分かりません.未調査です.







03_64 ビット版の Windows には電卓が 2 つある


本題とは話が違いますが,64 ビット版の Windows には電卓が 2 つあります.
32 ビット版の電卓と 64 ビット版の電卓です.[ファイル名を指定して実行] のダイアログで,以下のコマンドで起動できます.

ShellExecute 関数で起動する場合は,どちらのパスを指定しても,32 ビットのアプリでは 32 ビット版の電卓が起動します.また,64 ビットのアプリでは 64 ビット版の電卓が起動します.これはリダイレクトという機能によるものです.
64 ビット版の Windows で,32 ビットのプログラムを動作させるための仕組みのことを WOW64 と言います.その仕組みの名前がフォルダ名に含まれています.
SysWOW64 というフォルダは,32 ビット版の Windows にはありません.


  C:\Windows\System32\calc.exe  //64ビット版の電卓を起動
  C:\Windows\SysWOW64\calc.exe  //32ビット版の電卓を起動