Delphi Programming / Object Pascal

[掲載 2015年03月09日] [更新 2015年03月09日] Delphi 一般・その他 |
| Windows 7 の電卓 - 浮動小数点形式の入力方法 |
| 動作確認等 |
Windows 7 U64(SP1) |
| 01_Windows 7 の電卓 - 浮動小数点形式の入力方法 |
以下のように操作します。
まず、表示を関数電卓にします。 |
ここでは、単に数値の入力だけの確認とします。そのために、あらかじめ [CE] と [C]
をクリックして、全ての数値をクリアします。 |
-3.9223669552E+06 という値を入力するものとします。
-3.9223669552 までをキーボード、あるいはコピペして入力します。
指数形式を意味する [Exp] ボタンをクリックしてから、指数部分の [6] をクリックします。[Exp] ボタンの代わりに、キーボードの [E] でも入力できます。
これで入力が終了です。 |
[=] ボタンをクリックすると、以下のように、固定小数点形式の表示に変わります。 |
[F-E] ボタンをクリックすると、固定小数点形式と浮動小数点形式の表示が切り換わります。 |
クリップボードから値を貼り付ける時は注意が必要です。
今回の例である -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ビット版の電卓を起動
|