単二電池

vb超初心者です。
データ型について疑問があります。
データ型の関数で、
1。データ型を調べる関数
  IsNumeric等
2。データ型を変換する関数
  Cint等
この2つの関数の違いが分かりません。
 調べると変換とは同じ意味で理解しているのですが?
どのように、どんな時に使いわけたらいいでしょうか?
よろしくお願い申し上げます。

A 回答 (3件)

#1の回答「数値であるか」、#2の回答「数値に変換できるか」の件、下記(注)より#2の方が適当?


●Isxxxの型はIsArray,IsBindable,IsBroken,IsDataSource
IsDate、IsDirty、IsEmpty、IsError,IsMissing、IsNull,
IsNumeric、IsObject,とランゲージリファレンスにあり、「...
であるかどうかを調べ、結果をブール型(True,False)で返します
」「値の取得のみ可能です」とあります。
例文はMyVar="53" Mycheck=IsNumeric(MyVar) Trueを返す。
MyVar="459.95" Mycheck=IsNumeric(MyVar) Trueを返す。
MyVar="45 Help" Mycheck=IsNumeric(MyVar) Falseを返す。
とある。
(注)文字列の「53」も、数値53もIsNumericでTrueとなる。
下記VBAでテスト済み。A1に’53、A2に53、A3に53abをいれ
Sub test01()
b = Worksheets("sheet1").Cells(3, 1) 'Cells(1,1),Cells(2,1)
に変えて実行。
MsgBox b
a = IsNumeric(b)
If a = True Then
MsgBox "True"
Else
MsgBox "False"
End If
End Sub

●cxxxの型はCBool,CByte,CCur,CDate,CDbl,CInt
CLng,CsngCStr,CVar,CVErrがあり「・・・に変換する」です。
 MyInt=CIんt(2345.6789)  2345となる
    • good
    • 0
この回答へのお礼

大変わかりやすく教えていただきありがとうございました。
大変勉強になりました。

お礼日時:2002/07/15 07:38

IsNumericはデータ型を調べる関数とは違います。


Variant型、あるいはString型の値が
数値に変換できるものはTrue、できないものに対してはfalseの値が返ってきます。

"a"という文字列は数値に変換できないのてIsNumeric("a")ではFalseになります。
"1"という文字列は1という数値に変換できるのでIsNumeric("1")はTrueとなります。
IsnumericがTrueのものはCintやClngなどで変換できるわけです。
    • good
    • 0
この回答へのお礼

ポイントを押さえてのご説明ありがとうございました。

お礼日時:2002/07/15 07:39

こんばんわ。



以前、7年程開発やってました。
VB4でバリバリに。。。

両者は、全然違いますよ。
IsNumeric→引数のデータが数字かどうかを調べる関数。
Cint→文字列データ等を数字データに変換する関数。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2002/07/15 07:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!