| 基礎解説 チェック式 WSH入門 第5回 4.暗黙の型変換Microsoft MVPVisual Developer - Scripting 牟田口 大介 2006/09/22 |
![]() |
|
|
|
ある型から別の型に値を変換することを型変換という。型変換には関数を用いた明示的な型変換と、VBScriptが値を判断して行われる暗黙の型変換が存在する。
数値同士の型変換は、数値演算するときに暗黙的に行われることが多い。「整数値を扱うデータ型」の項で説明したサンプルは、本来ならInteger同士の足し算の結果はIntegerとして返されるのだが、Integerの範囲を超えたため、自動的にLongに変換され変数に格納されている。
また、例えばIntegerとDoubleという異なった型を組み合わせて数値演算すると、結果はDoubleになる。これは、計算する型が異なる場合は、よりカバーする範囲の広い型(Integerに比べてDoubleは広い範囲をカバーする)に型変換されてから計算されるためである。以下のサンプルを実行してもらいたい。
Dim intNumber, dblNumber, dblResult |
結果は次のようになる。
![]() |
| 数値演算中に発生する暗黙の型変換 |
| 異なった数値型同士の演算は、よりカバーする範囲の広い型に合わせて行われる。 |
数値から文字列の暗黙の型変換についてはこれまでにも何度か登場してきた。例えば、
Option Explicit |
のように、Longの値とStringの値を文字列連結演算子&で結合すると、Longの値がStringに型変換され、結果として1つのStringの値になる。
また逆に、文字列から数値への型変換も暗黙的に行われる場合がある。
Option Explicit |
この例では、InputBox関数で数値を入力すると、その値を20倍するという数値演算を行っているが、その際、StringからLongやIntegerなどに型変換が行われ、適切に処理される(もちろん、InputBoxに適切な数値を入力する必要がある)。
文字列から数値への型変換には1つ注意点がある。それは、数値が含まれたString値の足し算をする場合である。実は、VBScriptの+演算子には2つの意味がある。1つは数値の足し算を意味する算術演算子で、もう1つは文字列の連結を意味する文字列連結演算子なのである(&と同等)。次の例を見てもらいたい。
Option Explicit |
このサンプルを実行すると次のようになる。
![]() |
![]() |
![]() |
| 暗黙の型変換がうまくいかない例 |
| 文字列が数値に型変換されず、文字列同士の連結になっている。 |
この例だと、100+50なのだから、結果は150となるべきなのに、100と50が文字列のまま扱われ、“10050”という文字列が返されてしまっている。これは、+算子は文字列同士を扱う場合は文字列を連結するという特性を持っているためである(ただし、片方が数値で、片方が数値の含まれた文字列の場合だと、数値同士の足し算になる)。これは文字列型がうまく数値型に変換されない例である。
| INDEX | ||
| [基礎解説]チェック式 WSH入門 | ||
| 第5回 データ型について理解を深めよう | ||
| 1.VBScriptのデータ型 | ||
| 2.形名の調査と数値データ型 | ||
| 3.ブール・データ型 | ||
| 4.暗黙の型変換 | ||
| 5.明示的な型変換と特殊な値 | ||
| 基礎解説 |
ホワイトペーパー(TechTargetジャパン)
- 第207話 究極の人事システム (2010/2/9)
部長、わが人事部が開発した究極の人事評価システムがついに完成しました! これで不要な社員が一発で分かります! - WindowsTIPS (2010/2/5)
− netshコマンドでTCP/IPのパラメータを設定する
− Virtual PC 2007の共有NATで利用可能なアドレス範囲
− スタンバイ復帰でパスワード入力を要求されないように - 仮想環境でActive Directoryを利用する (2010/2/4)
仮想環境にADをインストールすれば、自由にActive Directoryドメイン・ネットワークを構築して実験できる - 第206話 バナー広告案 (2010/2/2)
いまどきWebマーケティングが不可欠なのは分かるが、強烈な競合に並べてバナーなんか出して、勝ち目はあるのか?
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |











