文字から数値へ変換を行うには


masat21  2005-08-31 20:15:43  No: 58819  IP: 192.*.*.*

下記に示す手順でConvert::ToInt32(sqlparam[i], 10);
を発行したところ、「解析可能な数値が見つかりませんでした。」
とログに出力されます。

下記に示した手順でなにか間違いなどがありましたら、
ご教示願います。
できれば、数値データ(4バイト)を数値型に変換する方法と、
変換した数値に対し桁数チェックを行う方法、または例などが
ありましたら、ご教示いただけると幸いです。

(手順)
1.char型バッファから数値データを取り出す。
2.1で取り出した数値データをString型に変換する。
3.nWork = Convert::ToInt32( sqlparam[i], 10 );
  を発行する。(10進数で)
4.3で例外が発生する。

編集 削除
YuO  2005-08-31 21:30:38  No: 58820  IP: 192.*.*.*

sqlparam[i]の型は何ですか?
また,例外発生時のsqlparam[i]の値はどうなっていますか?

おそらく,sqlparam[i]の値が,正規表現文字列
\s*(-|+)?\d+\s*
に一致しないのだと思いますが。

編集 削除
masat21  2005-09-01 00:15:08  No: 58821  IP: 192.*.*.*

masat21です。
回答いただきありがとうございます。
sqlparam[i]は、String型の配列です。

配列の定義と例外発生時におけるsqlparam[i]の値については、
手元に開発マシンがないため、明日以降にお知らせいたします。

ちなみに、sqlparam[i]のデータは、データベースに格納する
仕様となっています。

編集 削除