No.1
- 回答日時:
>数字から漢数字への変換に挑戦しているのですが、
方法はいろいろあると思います。
ご自分で、できたところまでを提示しましょう。
この回答への補足
すみません!
cmdhenkanが”変換”コマンドボタン(65432→六五四三二へ)で、
cmdketaが”変換2”コマンドボタン(65432→六万五千四百三十二へ)です。
Option Explicit
Private Sub cmdhenkan_Click()
Dim Suzi: Dim Kansuzi As String
Suzi = txtsuzi
Kansuzi = lblkansuzi
Select Case txtsuzi.Text
Case "0"
lblkansuzi.Caption = "〇"
Case "1"
lblkansuzi.Caption = "一"
Case "2"
lblkansuzi.Caption = "二"
Case "3"
lblkansuzi.Caption = "三"
Case "4"
lblkansuzi.Caption = "四"
Case "5"
lblkansuzi.Caption = "五"
Case "6"
lblkansuzi.Caption = "六"
Case "7"
lblkansuzi.Caption = "七"
Case "8"
lblkansuzi.Caption = "八"
Case "9"
lblkansuzi.Caption = "九"
End Select
End Sub
Private Sub cmdketa_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
lblkansuzi = a
lblkansuzi = b
lblkansuzi = c
lblkansuzi = d
lblkansuzi = e
a = len(&"万") * 10000
b = len(&"千") * 1000
c = len(&"百") * 100
d = len(&"十") * 10
e = len()*1
End Sub
Private Sub lblkansuzi_Click()
Dim txtsuzi: Dim lblkansuzi As String
Dim i As Long
txtsuzi = "00000"
iLen = Len(textsuzi)
For i = 1 To iLen
lblkansuzi.Print Mid(txtsuzi, i, 1)
Next i
End Sub
見づらくて申し訳ありません。
No.2
- 回答日時:
こんにちは
誰でも最初は初心者です
が、これでデバッグできていますか?
簡単なほうだけ
Private Sub cmdhenkan_Click()
Dim Suzi: Dim Kansuzi As String
Dim i As Integer: Dim iLen As Integer
iLen = Len(txtsuzi.Text)
''Suzi = txtsuzi
''Kansuzi = lblkansuzi
Suzi = txtsuzi.Text
Kansuzi = ""
For i = 1 To iLen
''Select Case txtsuzi.Text
Select Case Mid(Suzi, i, 1)
Case "0"
''lblkansuzi.Caption = "〇"
Kansuzi = Kansuzi & "〇"
Case "1"
''lblkansuzi.Caption = "一"
Kansuzi = Kansuzi & "一"
Case "2"
''lblkansuzi.Caption = "二"
Kansuzi = Kansuzi & "二"
Case "3"
''lblkansuzi.Caption = "三"
Kansuzi = Kansuzi & "三"
Case "4"
''lblkansuzi.Caption = "四"
Kansuzi = Kansuzi & "四"
Case "5"
''lblkansuzi.Caption = "五"
Kansuzi = Kansuzi & "五"
Case "6"
''lblkansuzi.Caption = "六"
Kansuzi = Kansuzi & "六"
Case "7"
''lblkansuzi.Caption = "七"
Kansuzi = Kansuzi & "七"
Case "8"
''lblkansuzi.Caption = "八"
Kansuzi = Kansuzi & "八"
Case "9"
''lblkansuzi.Caption = "九"
Kansuzi = Kansuzi & "九"
End Select
Next i
lblkansuzi.Caption = Kansuzi
End Sub
万,千,百,十は
これから色々疑問が出てくると思うので省略させていただきます
それからコントロールと同じ名称で変数を宣言するのは
よろしくありません
No.3
- 回答日時:
一例です。
Private Sub cmdketa_Click()
Dim Suzi: Dim Kansuzi As String
Dim i As Integer: Dim iLen As Integer
Dim Keta As String: Dim Ans As String
Kansuzi = "〇一二三四五六七八九"
Keta = "一十百千万"
iLen = Len(txtsuzi.Text)
Suzi = CLng(txtsuzi.Text)
For i = 1 To iLen
Select Case Suzi Mod 10
Case 1
Ans = Mid(Keta, i, 1) & Ans
If i = 5 Then Ans = "一" & Ans '1万の時だけ一を付ける
Case 2 To 9
Ans = Mid(Kansuzi, Suzi Mod 10 + 1, 1) & Ans
End Select
Suzi = Suzi \ 10
If Suzi Mod 10 > 1 Then Ans = Mid(Keta, i + 1, 1) & Ans
Next i
lblkansuzi.Caption = Ans
End Sub
ご丁寧に教えていただき有難う御座いました!
まだ参考書などの例題を見様見真似で作っているにすぎないので
一つ一つ調べながら、どういう流れで結果が出ているのか勉強して
いきたいと思います。
No.4ベストアンサー
- 回答日時:
ANo1です。
あまり時間がとれないので、すみませんが考え方のみ・・・
(せっかくコードを提示していただいたのに、ごめんなさい)
基本的には数値を各桁に分解して、あとは文字列処理ということになりますが、ご提示のコードの各行が質問者様の思っている通りに実行されているかをテストしてみたほうがよさそうです。(かなり問題あり)
大雑把な考え方として・・・
1)数字を4桁ごとにひとくくりとして分解する
2)それぞれについて各桁に単位をつけて○千○百○十○みたいに変換
3)4桁ごとに単位(万、億、兆・・・)を付ける
注)・数値の値が0の桁には単位(千百十)は付けない
・4桁区切りでの値が0なら単位(万、億、兆・・・)も付けない
・・で、大体のところまではできますが、実は、1101は一千百一なのか千百一なのか、あるいは、11001は一万一千一なのか、一万千一なのかのように数値が1の場合の表示をどの様にするのかのルール作りを、最初にきちんと整理しておかないと、後で変なところがでてくる可能性があります。
ルール決めについては、使用言語が違うけど↓あたりが参考になるかと。(後半の部分)
http://oshiete1.goo.ne.jp/qa4391551.html
(言語が違っても計算式は似たようなものなので、多少はロジックの参考にもなるかも知れません。 ただし、縮めているので読みにくいけど。)
どうも有難う御座います!
勉強し始めたばかりなので、教えていただいたコードを
一つ一つ理解して早く慣れるようにしたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- Excel(エクセル) ある範囲のセルに何を入力すると、別のセルに○を表示させる 3 2022/04/05 15:51
- ノートパソコン ”IMEが無効です” というメッセージが出ます! 4 2023/05/02 09:56
- Excel(エクセル) Excelについて 7 2023/03/12 17:01
- Excel(エクセル) exel 漢字・英数字混在セルの入力規則 5 2022/04/03 11:08
- Safari(サファリ) ブラウザーの検索欄に、仮名や漢字が入力できません。 1 2022/10/06 12:55
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
- Excel(エクセル) EXCELで、漢字のみ抽出する式を教えてください。 6 2022/04/27 14:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WORD型をCString型に変換する方法
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
C++ 文字列変数と16進数の比較
-
C#で文字列を数値に変換する方法
-
16進コード文字列を文字列に変換
-
16進をASCIIコードに変換する...
-
バイト型のデータをLong型に変換
-
YUVYからRGBへ変換することにつ...
-
数字→漢数字変換
-
Format関数の戻り値
-
小数点を整数型に変換
-
VC++ std::stringからLPCWSTRに...
-
VBA、nullをemptyに変換
-
秀丸マクロで 大文字を小文字...
-
【C++/CLI】int型からString型...
-
型変換について (C++ Builder5)
-
VB6.0の「vbFromUnicode」はVB....
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
accessでフィールド追加のあと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
VB6.0の「vbFromUnicode」はVB....
-
16進をASCIIコードに変換する...
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
【C++/CLI】int型からString型...
-
C++ 文字列変数と16進数の比較
-
vb6の桁数指定
-
2の補数の計算について
-
VBAのstrConv関数のUNICODE変換...
-
VB6.0 String型→Long型変換方法...
-
WORD型をCString型に変換する方法
-
数字→漢数字変換
-
C#でListとDictionaryの判別方法
-
Boolean型変数の値を反転する方法
-
文字型を日付/時刻型に変換する...
-
textbox.textやlabel.captionの...
-
エクセルでメールヘッダーを解...
-
2進数から10進数へ変換
-
対数変換のついて
おすすめ情報