» VisualBasicのブログ記事


VB.NETにおいて、文字列を整数型の数値に変換する関数として、Cint,Clng,Valといったものがあるが、
Val関数とClng関数は同じ結果になると思いこんでいた。

実際は、Clng関数は、Long型の数値に変換される。
一方、Val関数は、17桁まで有効なLong型の数値に変換されるようだ。

ex)
Dim v as String = “120002112365008889” ’18桁の数字文字列
dim lngV as Long = Clng(v) ‘120002112365008889
dim valV as Long =Val(v) ‘120002112365008880 ← 18桁目が0になる


VB.NET2010で参照エラーが発生した。

1つのソリューションの中には2つのプロジェクト a , b が入っている。

(1)a
(2)b

aは、WindowsFormからなるプロジェクトで起動時に読み込まれる。
bは、クラスライブラリ。

aのプロジェクトのプロパティで、bのプロジェクトを参照。

通常は、Imports a でインポート宣言をすれば、bのライブラリに収録されているPublic Shared 宣言されたプロシージャを使用できるようになる。
が、しかし、プロシージャの中に次のプロパティ

System.Web.HttpUtility.UrlEncode( STRING,ENCODING )

が入っていると、aからbを参照できなくなるというエラーに遭遇した。
これは、編集中はエラーとして表示されないが、ビルドした時に初めてエラーになる。

困った。

解決。
bは、.NetFramework 4で作成している。
aは、.NetFramework 4 Client Profile で作成されていた。
両方とも .NetFramework 4 にすることで解決。

半日無駄にしたが、まあよしとしよう。

ブログ検索

ブログカレンダー

2017年9月
« 10月    
 12
3456789
10111213141516
17181920212223
24252627282930

Yahoo!ショッピング

アクセスカウンタ

  • 本日(回): 15
  • 週間(回): 411
  • 合計(回): 273599

Since 2011/07/01