• ベストアンサー

4桁の数字を A*1000+B*100+C*10+D 以外で表現したい。

A=1 B=2 C=3 D=4 のとき  1234をA*1000+B*100+C*10+D以外で表現したいのですが 何かいい方法がないでしょうか? 4桁ならいいんですが 15、6桁を10行ぐらいコーディングしないといけないのでなえてます↓助けてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#187541
noname#187541
回答No.7

No.4です。 VB2005でも問題なくできますよ。実際に確認済みです。 Dim A As Integer = 1 Dim B As Integer = 2 Dim C As Integer = 3 Dim D As Integer = 4 Dim E As integer E = (A & B & C & D) * 1 MsgBox(E) これで試してください。

mixiho
質問者

お礼

アー本当だ。 できる。。。 しまった。。。それでかいたらよかった・・・泣

その他の回答 (6)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.6

>Val("ABCD")*10 をやってみましたけど0でだめでした。VB6で Private Sub Command1_Click() Dim A As Integer Dim B As Integer Dim C As Integer Dim D As Integer Dim str As String A = 1 B = 2 C = 3 D = 4 str = CStr(A) & CStr(B) & CStr(C) & CStr(D) Text1.Text = Val(str) * 10 End Sub

mixiho
質問者

お礼

へーそうやって使うんですね。 おもしろい!!ありがとうございます。

  • shobon
  • ベストアンサー率66% (14/21)
回答No.5

使用されているVBのバージョンがわからないので、教えていただけないでしょうか? VB.netならば Dim E as string = A.ToString & B.ToString & C.ToString & D.ToString Dim I as Decimal = Decimal.Parse(E) で表現できます。

mixiho
質問者

お礼

できました! ありがとうございます。

noname#187541
noname#187541
回答No.4

こんにちは。 (a & b & c & d) * 1 こんなのどうですか?

mixiho
質問者

お礼

ありがとうございます。 僕のはVB2005なんですよね・・・ vb6だったらそれでもいけそうなんですけど・・・

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.3

VAL("1234")

mixiho
質問者

補足

Val("ABCD")*10 をやってみましたけど0でだめでした。

  • ramoke
  • ベストアンサー率26% (206/767)
回答No.2

書き忘れました StrConv 関数 じゃだめなのかな?

mixiho
質問者

お礼

StrConv 関数 初めて知りました。 大文字を小文字にかえたりカタカナをひらがなにかえたり、これおもしろいですね!たぶんStrConv 関数使わずにできるとおもいます。ちょっとためしてみます。 うーん、やはりだめでした。 http://msdn2.microsoft.com/ja-jp/library/cd7w43ec.aspx ここをみたんですけ文字列を数字に変換するのはないみたいですね・・・別の関数を使うんでしょうかね。 ちょっとよくわかりません。。。

  • ramoke
  • ベストアンサー率26% (206/767)
回答No.1

まず、文字として最初に処理してしまうってのは如何でしょう? A&B&C&D&E&・・・ 等と全ての桁文字を結合し 文字列を最終的に数字に変換する方法では問題ありますか? 文字⇒数字変換関数は 色々な言語に標準的にあると思いますけど・・・

mixiho
質問者

お礼

あぁ、それいいかも♪ というかそれが標準か・・・・。 ありがとうございます。助かりました!

関連するQ&A

専門家に質問してみよう