<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000--VBAの小屋>数字を漢字にする関数
   1  2  3  4  5  6  7  8



いろいろテストしてみましょう。

もっと桁を増やしてみると・・・。これもいけるかな。

桁を増やしても、いけてるみたいです。いいぞいいぞ。

では、かねてより懸案の、16桁以上の数字のならびに関しては・・・

ヤッター!できたできた!いけるぞー!!!

あ、あり???
あ・・・ゼロがいっぱいある場合、億とか万も、出ちゃうのか・・・そりゃそうですよね。k3の中身をそのまま加えているんだし・・・。


じゃあ・・・。後半の方ですけど、k3の中身を検討しているあたりに、少し条件を加えてみましょう。
ちょっと複雑になりますけど・・・。左側4桁分が全部ゼロだったら、万とか億とかいう漢字はいらないので、k3を空っぽにします。
でも、左側4桁っていっても、左側にもう4桁分も残ってない場合も考えられますよね。なので、その辺もちょっと考えてみました。

ふいー・・・。
なんか、既に「ねじ伏せ」っぽいやり方になってますけど(笑)
とにかく、ひとつひとつこうして盛り込んでみて、何度も何度もテストしてみて、まずいところをもう一度見直してみて・・・。と、繰り返しながら、ひとつの処理を作っていきましょう。

とりあえず、テストしてみましょうか。これでどうかな・・・。

できた!全部ゼロじゃない場合も・・・。

大丈夫ですよね。

ふう・・・大変だったなぁ・・・とりあえず、ここまで一緒に操作してこられた方、お疲れ様でしたー。
決して実用向きの処理ではないですけれど、いろいろ、他の処理を作るときに活躍してくれそうなこととか、お話できたんじゃないかなぁって思います。

いろんな数字入れてみて、エラーが出ないかどうか、変な漢数字になっちゃうことがないかどうか、いっぱいいっぱいテストしてみてください。
まだなんかあるかもしれないし。。。
プロシージャ作りは、例外との戦いです。
どんな処理だって、作った人のアイディアと苦労が染み込んでるんですよ。
粗末に扱ったらいけませんよ。ご自身で作った処理、大切に扱ってくださいね。


さあー・・・。
数字を表す漢字って、いっぱいあるんですよ。
へへ。わたしかなりの「数字フリーク」なんですよ(笑)

【読み方】 0が ふつうに書いてみると???
無量大数(むりょうたいすう) 68 100000000000000000000000000000000000000000000000000000000000000000000
不可思議(ふかしぎ) 64 10000000000000000000000000000000000000000000000000000000000000000
那由他(なゆた) 60 1000000000000000000000000000000000000000000000000000000000000
阿僧祇(あそうぎ) 56 100000000000000000000000000000000000000000000000000000000
恒河沙(ごうがしゃ) 52 10000000000000000000000000000000000000000000000000000
極(ごく) 48 1000000000000000000000000000000000000000000000000
載(さい) 44 100000000000000000000000000000000000000000000
正(せい) 40 10000000000000000000000000000000000000000
澗(かん) 36 1000000000000000000000000000000000000
溝(こう) 32 100000000000000000000000000000000
穣(じょう) 28 10000000000000000000000000000
禾+予(字がない・・じょ) 24 1000000000000000000000000
垓(がい) 20 100000000000000000000
京(けい) 16 10000000000000000
兆(ちょう) 12 1000000000000 
億(おく) 8 100000000
万(まん) 4 10000
千(せん) 3 1000
百(ひゃく) 2 100
十(じゅう) 1 10
零(れい) 0 0

↑ここまでは、なんとか出せそうなんですけどね・・・。

・・・。
お気づきになられました?

・・・。51桁までは問題ないですけど、52桁目で、位を表す漢字が、3文字になってますね。「恒河沙」「阿僧祇」・・・。
今のやり方だと、これって、できないですよね。。。漢数字はそれぞれ「1文字」であることが、このプロシージャの大前提になってます。

悔しいなぁ・・。ココまでがんばってきたのに・・・。
しくしく・・・。

こうなったらもう、全部力技ダー!!!


このコード、見渡してみると、ずいぶんとダブった処理がありますよね。
こういうのをまとめて、別のプロシージャにしてまとめたりすることで、もっと見やすくてすっきりしたコードになるはずです。
もちろん、長ったらしいコードでも別に問題が起こるわけじゃないんですけど・・・こんなぐちゃぐちゃしたコード、後で見直ししたり作り変えたりする気、起こります?
やっぱり、もうちょっとすっきりと短めのコードの方が、よいですよね・・・。

その辺は、基本を固めながら、少しずつ慣れていきましょうね。


え?

「1480000000光年」「十四億八千万光年」って出したい?

・・・・・。

そうカンタンに言うなーーーーー!!!

それは、もう一工夫、必要ですね。。。
・・・・ま、まあ・・・それは次回、がんばるとしましょうか・・・。
今日のところは、お疲れ様でした。