文書番号: 818805 - 最終更新日: 2006年12月21日 - リビジョン: 3.3 Visual Basic .NET または Visual Basic 2005 で数学関数、型変換関数、および文字列関数を使用する方法目次概要
この資料では、Visual Basic .NET または Visual Basic 2005 で定義されている数学関数、型変換関数、および文字列関数を使用する方法について、手順を追って説明します。
数学関数を使用する方法数学的な計算に使用する関数は System.Math クラスで定義されています。Math クラスには、三角関数、対数関数、およびその他の一般的な数学関数が含まれています。以下に説明する関数は、System 名前空間の Math クラスで定義されている関数です。注 : これらの関数を使用するには、ソース コードの最初の部分に次のコードを追加することによって、System.Math 名前空間をプロジェクトにインポートします。 Abs 関数は、指定した数値の絶対値を返します。 Abs 関数の例を次に示します。 この例では、Math クラスの Abs メソッドを使用して、数値の絶対値を計算します。 Atan 関数は、角度を保持する Double 型の値を返します。その角度のタンジェントで指定される数値です。正の戻り値は、X 軸から反時計回りの角度を示します。負の戻り値は、時計回りの角度を示します。ラジアンから度に変換するには、戻り値に 180 を掛けた値を円周率 (p) で割ります。 Atan の例を次に示します。 この例では、Math クラスの Atan メソッドを使用して、円周率の値を計算します。 Cos 関数は、引数としてラジアン単位の角度を取り、指定した角度のコサインを Double 型の値で返します。 Cos 関数の例を次に示します。 この例では、Math クラスの Cos メソッドを使用して、角度のコサインを返します。 Exp 関数は、e (自然対数の底) の指定した数値のべき乗を保持する Double 型の値を返します。他の値を底とするべき乗を計算するには、Pow メソッドを使用します。Exp は Log の逆関数です。 Exp 関数の例を次に示します。 この例では、Math クラスの Exp メソッドを使用して、e を底とする指定した数値のべき乗を返します。 Log 関数は、指定した数値の対数を保持する Double 型の値を返します。このメソッドにはオーバーロード メソッドがあり、指定した数値の自然対数 (e を底とします) または指定した値を底とする指定した数値の対数のいずれかを計算できます。 Log 関数の例を次に示します。 この例では、Math クラスの Log メソッドを使用して、数値の自然対数を計算します。 Round 関数は、指定した値に最も近い数値を保持する Double 型の値を返します。その他の Round 関数は、Decimal.Round メソッドなどの組み込み型のメソッドとして使用できます。 Round 関数の例を次に示します。 この例では、Math クラスの Round メソッドを使用して、数値を最も近い整数値に丸めます。 Sign 関数は、数値の符号を示す整数値を返します。関数の入力引数と戻り値を、次の表に示します。 元に戻す
Sign 関数の例を次に示します。 この例では、Math クラスの Sign メソッドを使用して、数値の符号を判断します。 Sin 関数は、引数としてラジアン単位の角度を取り、角度のサインを表す Double 型の値を返します。 Sin 関数の例を次に示します。 この例では、Math クラスの Sin メソッドを使用して、角度のサインを計算します。 Sqrt 関数は、指定した数値の平方根を示す Double 型の値を返します。 Sqrt 関数の例を次に示します。 この例では、Math クラスの Sqrt メソッドを使用して、数値の平方根を計算します。 Tan 関数は、指定した角度のタンジェントを保持する Double 型の値を返します。Tan 関数は、引数としてラジアンを単位とした角度を取る関数です。指定された角度が NaN、NegativeInfinity、または PositiveInfinity の場合、このメソッドは NaN を返します。 注 : 度からラジアンに変換するには、p/180 を掛けます。 Tan 関数の例を次に示します。 この例では、Math クラスの Tan メソッドを使用して、角度のタンジェントを計算します。 型変換関数を使用する方法値をあるデータ型から別のデータ型に変更する処理は、変換と呼ばれます。変換は、関連する型のデータ容量に応じて拡張または縮小を行う処理です。上位変換および下位変換は、両方とも共通言語ランタイムによってサポートされています。たとえば、32 ビットの符号付き整数として表される値を、64 ビットの符号付き整数に変換できます。この変換は、上位変換の例です。逆の変換 (64 ビットから 32 ビット) は下位変換の例です。上位変換を行っても、情報が失われることはありません。ただし、下位変換を行うと、情報が失われる場合があります。Visual Basic .NET または Visual Basic 2005 では、以下の型変換関数が定義されています。 CBool CBool 関数は、文字列式または数式を Boolean 型の値に変換するために使用します。式が 0 以外の値であると評価されると、CBool 関数は True を返します。式が 0 と評価される場合は、False を返します。 CBool 関数の例を次に示します。 CByte 関数は、指定した数値を Byte 型の値に変換します。入力引数には 0 〜 255 の数値を指定する必要があります。それ以外の入力引数を使用すると、System.OverflowException エラーが発生します。 CByte 関数の例を次に示します。 CChar 関数は、指定した String 型の値の先頭文字のみを Char 型に変換します。CChar 関数への入力引数のデータ型は、String 型である必要があります。CChar 関数では数値のデータ型は処理できないため、CChar 関数を使用して数値を文字に変換することはできません。 CChar 関数の例を次に示します。 この例では、CChar 関数を使用して文字列式の先頭文字を Char 型に変換します。 CDate 関数は、日付と時刻の任意の有効な表記を引数に取り、Date 型に変換します。 CDate 関数の例を次に示します。 この例では、CDate 関数を使用して、文字列を Date 型の値に変換します。 CDbl 関数は、数式を Double 型の値に変換するために使用します。CDbl 関数の入力引数は、負の値では -4.94065645841247E-324 〜 -1.79769313486231E+308 の値である必要があります。正の値では、1.79769313486231E+308 〜 4.94065645841247E-324 の値である必要があります。 CDbl 関数の例を次に示します。 CDec 関数は、数値を 10 進数に変換します。 CDec 関数の例を次に示します。 CInt 関数は、数値を整数に変換します。 CInt 関数の例を次に示します。 CLng 関数は、引数として数値を取り、Long 型の値を返します。 CLng 関数の例を次に示します。 CObj 関数は、数値を Object 型の値に変換します。 CObj 関数の例を次に示します。 CShort 関数は数値を Short 型の値に変換します。 CShort 関数の例を次に示します。 CSng 関数は、数値を Single 型の値に変換します。 CSng 関数の例を次に示します。 CStr 関数の入力引数および戻り値を次の表に示します。 元に戻す
CStr 関数の例を次に示します。 この例では、CStr 関数を使用して、数値を文字列に変換します。 文字列関数を使用する方法文字列関数はさまざまなクラスで定義されています。文字列関数が定義されているクラスには、Microsoft.VisualBasic.Strings クラスや System.String クラスがあります。Microsoft.VisualBasic.Strings クラスの文字列関数を使用する方法以下に説明する関数は Microsoft.VisualBasic.Strings クラスで定義されている文字列関数です。注 : 以下の文字列関数を使用するには、次のコードをソース コードの最初の部分に追加することによって、名前空間 Microsoft.VisualBasic.Strings をプロジェクトにインポートします。 Asc 関数および AscW 関数は、指定した文字に対応する文字コードを表す整数値を返します。この 2 つの関数は、任意の有効な Char 型の式または String 型の式を引数として受け取ります。入力引数が文字列の場合、文字列の先頭文字のみが入力として使用されます。文字列に文字が含まれていないと、ArgumentException エラーが発生します。Asc 関数は、入力文字のコード ポイントまたは文字コードを返します。戻り値は、0 〜 255 の SBCS (1 バイト文字セット) の値、および -32768 〜 32767 の DBCS (2 バイト文字セット) の値です。AscW 関数は、0 〜 65535 の値の入力文字に対する Unicode コード ポイントを返します。 例 Chr 関数および ChrW 関数は、指定した文字コードに関連付けられた文字を返します。文字コードが -32768 〜 65535 の範囲外の場合、ArgumentException エラーが発生します。 例 この例では、Chr 関数を使用して、指定した文字コードに関連付けられた文字を取得します。 GetChar 関数は、指定された文字列内の指定されたインデックス位置にある文字を表す Char 型の値を返します。指定された入力引数で、インデックスが 1 より小さいか引数の最後の文字のインデックスよりも大きい場合、ArgumentException エラーが発生します。 例 この例では、GetChar 関数を使用して、文字列内の指定されたインデックス位置の文字を取得する方法を示します。 InStr 関数は、別の文字列内で指定した文字列を検索し、最初に見つかった文字列の開始位置を示す整数の値を返します。 例 次の例では、InStr 関数を使用して、ある文字列から指定された文字列を検索し、最初に見つかった文字位置を示す値を返します。 Join 関数は、配列に含まれる部分文字列を結合して作成される文字列を返します。結合する必要がある部分文字列を保持する 1 次元配列を、引数として Join 関数に指定します。Join 関数には、省略可能な引数として区切り文字を使用できます。区切り文字は、返される文字列内で部分文字列を区切る文字列です。区切り文字を省略すると、空白文字 (" ") が部分文字列の区切り文字として使用されます。区切り文字の長さが 0 の文字列 ("") の場合、配列内の部分文字列は区切り文字なしで連結されます。 例 次の例では、Join 関数の使用方法を示します。 LCase 関数は、小文字に変換された文字列または文字を返します。大文字だけが小文字に変換されます。小文字のアルファベットおよびアルファベット以外の文字は変換されません。 例 次の例では、LCase 関数を使用して、文字列内の大文字を小文字に変換します。 この 3 つの関数は、指定した文字列のコピーを保持する文字列を返します。LTrim 関数を使用すると、文字列の先頭のスペースが削除されます。RTrim 関数を使用すると、文字列の末尾のスペースが削除されます。Trim 関数を使用すると、文字列の先頭および末尾のスペースが削除されます。 例 次の例では、String 変数に対して、LTrim 関数を使用して文字列の先頭のスペースを削除し、RTrim 関数を使用して文字列の末尾のスペースを削除し、Trim 関数を使用して先頭および末尾のスペースを削除します。 Replace 関数は、指定した回数分、部分文字列を他の部分文字列に置換した文字列を返します。Replace 関数の戻り値は、Start 引数で指定された位置から指定された文字列の最後までに対して、Find 引数および Replace 引数の値で指定された置換を実行した結果の文字列です。 例 次の例では、Replace 関数の使用方法を示します。 StrComp 関数は、-1、0、または 1 を返します。この値は、文字列の比較の結果に基づいています。文字列は、先頭文字から英数字の並べ替え値に基づいて比較されます。 例 次の例では、StrComp 関数を使用して文字列比較の結果を取得します。3 番目の引数が省略された場合は、Option Compare ステートメントで定義された比較の種類、またはプロジェクトのデフォルトの比較の種類が使用されます。 StrConv 関数は、入力引数で指定した方法で変換された文字列を返します。Conversion 引数の値に基づいて変換が行われます。Conversion 引数の値は、VbStrConv 列挙値のメンバです。 Conversion 引数の設定は以下のとおりです。 元に戻す
例 次の例では、テキストを小文字に変換します。 StrDup 関数は、指定した文字を指定した回数分繰り返して作成された文字列型 (String) またはオブジェクト (Object) 型の値を返します。StrDup 関数は、Number および Character の 2 つの引数を取ります。Number 引数には、関数によって返される文字列の長さを指定します。StrDup 関数では Character 引数の先頭文字のみが使用されます。Character 引数には Char データ型、String データ型、または Object データ型を使用できます。 例 次の例では、StrDup 関数を使用して、文字の繰り返しから成る文字列を取得します。 StrReverse 関数は、指定した文字列の文字の順番を逆にした文字列を返します。 例 UCase 関数は、指定した文字列を大文字に変換して文字列または文字を返します。小文字だけが大文字に変換されます。大文字およびアルファベット以外の文字は変換されません。 例 次の例では、UCase 関数を使用して文字列の小文字を大文字に変換した値を取得します。 System.String クラスの文字列関数を使用する方法以下に説明する関数は、System 名前空間の String クラスに含まれる文字列関数です。注 : 以下の文字列関数を使用するには、次のコードをソース コードの最初の部分に追加することで、System.String 名前空間をインポートします。 Compare 関数は、入力引数の 2 つの文字列を比較します。この比較は、単語の並べ替えの規則を使用することで行われます。比較は、2 つの文字列の不一致が見つかった場合、または 2 つの文字列の比較が完了した場合に終了します。 Compare 関数の例を次に示します。 Concat 関数は、1 つ以上の文字列を連結し、連結した文字列を返します。 Concat 関数の例を次に示します。 次の例では、Concat 関数のオーバーロード関数を使用する方法を説明します。 Copy 関数は、指定した文字列の値を別の文字列にコピーします。 Copy 関数の例を次に示します。 Remove 関数は、指定した文字列の指定した開始位置から、指定した文字数分の文字を削除します。Remove 関数には 2 つのパラメータがあります。StartIndex パラメータおよび Count パラメータです。StartIndex パラメータは、文字の削除を開始する文字列内の位置です。Count パラメータには、削除する文字数を指定します。 Remove 関数の例を次に示します。 Substring 関数は、指定した文字列の指定した位置から始まる文字列を返します。 Substring 関数の例を次に示します。 次の例では、指定した位置から指定した長さ分の部分文字列を取得します。 ToCharArray 関数は、文字列内の文字を Unicode 形式の文字配列にコピーします。 ToCharArray 関数の例を次に示します。 次の例では、指定した位置の文字を Character 配列にコピーします。 ToLower 関数は文字列を引数として取り、その文字列のコピーを小文字で返します。 ToLower 関数の例を次に示します。 ToUpper 関数は文字列を引数として取り、その文字列のコピーを大文字で返します。 ToUpper 関数の例を次に示します。 この 3 つの関数は、指定した文字列のコピーを保持する文字列を返します。Trim 関数を使用すると、文字列の先頭および末尾のスペースが削除されます。TrimStart 関数を使用すると、文字列の先頭のスペースが削除されます。TrimEnd 関数を使用すると、文字列の末尾のスペースが削除されます。 例 次の例では、String 変数に対して、TrimStart 関数を使用して文字列の先頭のスペースを削除し、TrimEnd 関数を使用して文字列の末尾のスペースを削除し、そして Trim 関数を使用して文字列の先頭および末尾のスペースを削除します。 関連情報
関数の詳細については、次のマイクロソフト Web サイトを参照してください。
http://msdn.microsoft.com/library/ja/vblr7/html/vaoriFunctionsVBA.asp (http://msdn.microsoft.com/library/ja/vblr7/html/vaoriFunctionsVBA.asp) この資料は以下の製品について記述したものです。
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。" | サポート技術情報の翻訳
|
先頭へ戻る
