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ビット版の電卓を起動