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


masat21  2005-09-01 05:15:43  No: 58819

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

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

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


YuO  2005-09-01 06:30:38  No: 58820

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

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


masat21  2005-09-01 09:15:08  No: 58821

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加