- ベストアンサー
VBAのプログラムで、DIAG = 1# / A(L, L) や R(
VBAのプログラムで、DIAG = 1# / A(L, L) や R(I) = 0# の数字1、0の後についている番号記号#は何を意味しているものでしょうか? http://www.index-press.co.jp/books/excel/excel-04.pdf の記事内にあるプログラムで使用されていますが、解説がありません。 調べてみましたがシャープと読まないことぐらいしかわかりませんでした。 どうぞよろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Pdf拝見しました。 凄く読みづらいプログラムで、どうにか修正したい欲に かられるわけですが。 ここでいう♯記号などは、「リテラル」というもので型を 暗黙に示すもので、#はDouble型を示すものだと思います。 言語が違いますが仕様が似てますので参考まで。 3-1 変数と定数 http://msdn.microsoft.com/ja-jp/library/dd314343.aspx …真ん中のほう: …VB .NET はリテラルのデータ型に応じて、以下のような表記をします(表 3-2)。 …の明示的な記述方法の列 1♯ はDouble型の1ということになります。 基本的に、Dim i as Double と宣言すれば i はDouble型に決まって いますので♯は要りませんが。 稀に Dim i as Variant(何でも型)と宣言したとき、i=1#とすると Double型として明示代入ができます。 とはいえ、変数の中身が訳がわからなくなるので、こんな書き方は 通常はしません。 プログラム文中を判りやすく見せているだけだと思います。 とはいえ、このプログラムは読みづらいです。 変数、配列のインデクサ、ループカウンタなど殆どが英字2文字以下の 意味のない単語変数なので、可読性のよいプログラムクォリティとしては よろしくないと思います。
その他の回答 (4)
- kmetu
- ベストアンサー率41% (562/1346)
Doubleと言うことでしょう 参照 http://homepage1.nifty.com/rucio/main/kiso/DataType.htm
お礼
WEBを指摘くださりありがとうございました。 今後も励みます。
- tohru999
- ベストアンサー率49% (76/154)
#は、Double型を表しています。 詳しくは、VisualBasicランゲージリファレンスのデータ型(倍精度浮動小数点数型)や、 参考URLの型宣言文字等を見て下さい。
お礼
ご指導ありがとうございました。 また機会がありましたらどうぞよろしくお願いします。
- yorozu_ya
- ベストアンサー率54% (76/140)
DIAG や R(I) は Double型で変数宣言されています。 R(I) = 0# ' Double型の変数にDouble型のゼロを代入しています。 変数がDouble型ですから、整数型のゼロを代入しても結果は同じですが 気分的にDouble型のゼロを代入したいということでしょう。 ※ #記号はDouble型の型宣言です。
お礼
丁寧に回答下さり大変ありがとうございました。 今後ともよろしくお願いします。
- himajin100000
- ベストアンサー率54% (1660/3060)
http://msdn.microsoft.com/en-us/library/ee199514%28v=PROT.10%29.aspx 下の方のTable 3.2を参照。 そのリテラルがDouble型であることを示す接尾辞です。 #表記がわからんって場合はEBNFでも学んでください。 http://www.atmarkit.co.jp/fxml/rensai/w3cread02/w3cread02.html ================== 以下のコードを実行すると、それぞれ 2 と 5 が表示されますね? Option Explicit Sub Main() MsgBox (VarType(1)) MsgBox (VarType(1#)) End Sub で、
お礼
プログラムが意味不明と思う瞬間でした。 ご回答があり大変役立ちました。 ありがとうございました。
お礼
丁寧にご回答頂きましてありがとうございます。 参考にさせていただきます。 まだまだ他にもわからないところありそうですので どうぞよろしく願いします。