![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access2000--VBAの小屋>数字を漢字にする関数 |
いろいろテストしてみましょう。
もっと桁を増やしてみると・・・。これもいけるかな。
桁を増やしても、いけてるみたいです。いいぞいいぞ。
では、かねてより懸案の、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光年」を「十四億八千万光年」って出したい?
・・・・・。
そうカンタンに言うなーーーーー!!!
それは、もう一工夫、必要ですね。。。
・・・・ま、まあ・・・それは次回、がんばるとしましょうか・・・。
今日のところは、お疲れ様でした。
![]() |
![]() |
![]() |