![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access2000--VBAの小屋>数字を漢字にする関数 |
さあ、じゃ、もうちょっとがんばってみるといたしましょう。
なんかしら規則性がないと、ループって難しいんですよね。
1桁目 十とかはいらない。
2桁目 十
3桁目 百
4桁目 千
5桁目 万
6桁目 十万
7桁目 百万
8桁目 千万
9桁目 億
10桁目 十億
11桁目 百億
12桁目 千億
13桁目 一兆
14桁目 十兆
15桁目 百兆
16桁目 千兆
6桁目から、曲者ですねぇ。。。どうします?
うーん・・・。
どれ、めいっぱい大きな数字を入力して試してみようかな。
うん?
なんだ?なんでいきなり型が一致しませんなんてエラーがでるんだ??
デバッグっていうボタンをクリックすると、エラーの出ている個所が反転します。
エラーでとまっているのは、この部分のようです。
こんな長い数字を入れたからかな???
こういうときは慌てず、「その時点でどんな値になっているのか」をいろいろ調べてみましょう。
前回、俳句をひねるときに、「ウォッチウィンドウ」っていうやつ、使いましたよね。アレ使って、変数の中に何が入っているか調べてみましょう。
とりあえず、ツールバーのリセットボタンをクリックして処理を中止させます。
上の方からやってみようかな・・・。一番最初の、S1の桁数をL1に代入するところで、S1に何が入ってきているか確認してみましょう。
で、メニューバーの[表示]→[ウォッチウィンドウ]を選びましょう。ウォッチウィンドウというのがどっかに出てくると思います。
再び左端の、茶色い○印のところへもどって、この○印のあたりを右クリックします。「ウォッチ式の追加」というメニューを選びましょう。
S1を指定しましょう。これの中に何が入っているか、見せてもらいます。
ウォッチウィンドウに式が出てきましたね。
んでは、イミディエイトウィンドウの方で、再び実験。引数にながーい数字を入れて、Enter・・・。
。。。なんだこれ?
あれま。指数になっちゃってますよ。コレ。"1.23456789101235E+22"っていう文字列になってます。つまり、.(小数点)とか+とかが含まれてて、変よ、っていうことで、処理がとまっちゃってるみたいですね。
ふええ。S1の型はStringにしてるのに、数字だけ入力すると、数値だと思われちゃうのかな・・・。
っていうか、これって、S1がStringになる、っていうことじゃなくて、S1にはString型で入力しろ、っていう意味なんですよね。。。
だから、String型にしてくれてるわけじゃないんで、こんなふうになっちゃうんですよね。。。
![]() |
![]() |
![]() |