• ベストアンサー

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行ぐらいコーディングしないといけないのでなえてます↓助けてください。

  • mixiho
  • お礼率41% (251/608)

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

  • ベストアンサー
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

  • A, B, C or D?

    A, B, C and Dという英語での表現の仕方がありますが、同じようにA, B, C or Dという表現は正しかったでしょうか?度忘れしてしまいました。よろしくお願いいたします。 

  • a>b、c>dならばa-d>b-c

    a>b、c>dならばa-d>b-c というのは正しいですか? 何かで見たと思うのですが何で見たのかわからなくて確認ができません。 よろしくお願いします。

  • A,B,C----

    英語から韓国語に訳すとき、 A、B、C、and Dは、A、B、C、및 D A、B、C、or Dは、A、B、C、또는 D でいいのでしょうか? また、お父さんとお母さんどっちが好き?という時、 아버지 이나 어머니, 어느 쪽 좋아하세요? でいいのでしょうか? A or Bはどのように表現すればよいのでしょうか?

  • a×b=c でキレイなcになるaとbの求め方

    宜しくお願いします。 例えば、 932,640×18,750=17,487,000,000 453,120×96,875=43,896,000,000 のように、a×b=c でcの下の位が、希望の桁だけゼロになるような、 aとbを求める方法をさがしております。 最も単純なのは、乱数を使ってひたすら掛けてみる方法だと思いますが、 もっとかしこくて効率的なアルゴリズムはないでしょうか?

  • 自然数a,bに対し、c=4a+7b , d=3a+4b と定める。aと

    自然数a,bに対し、c=4a+7b , d=3a+4b と定める。aとbが互いに素で、。cとdがどちらも素数pの倍数であるとき、pを求めよ。 全く方針が分かりません。ヒント及び解法を教えていただきたいです。よろしくお願いします。

  • [ 1 ]A,B,C,Dの4個の文字から、繰り返し

    [ 1 ]A,B,C,Dの4個の文字から、繰り返しを許して6個の文字を取る組合せの数を求めよ。 ただし、使わない文字があってもよいものとする。 [ 2 ]5個の数字1,2,3,4,5を用いて、3桁の数をつくる。同じ数字をくり返して使ってもよいことにすると、この3桁の数は、いくつできるか。 ーーーーーーーーーーーーーー この二つの問題の違いが全く分かりません。 自分は、 [ 1 ] 6^4 = 1296 [ 2 ] 5^3 = 125 と出したのですが、 [ 1 ]は不正解 [ 2 ]は正解 でした。 ちなみに[ 1 ]の正しい解答は、 9C3 = 84 (通り) です。 9C3という数字をどのように出すのか等は分かるのですが、[ 1 ]と[ 2 ]の違い、なぜ自分が使った方法は[ 2 ]でしか使えないのか、逆になぜ[ 1 ]の解答に書いてあった"C"を使う方法は[ 2 ]では使えないのかが全く分かりません。 回答お願いいたします。

  • InDesign 正規表現 一桁の数字

    5(20.0%) 0(0.0%) 10(40.0%) こんな感じで一桁と二桁の数字が混じっている文字列の 一桁の数字の前に数字のスペースをつけて桁揃えしたいです 検索: (?<=[^\d\.])(\d)(?=\D) 置換: ~/$1 こんな感じで書いたんですがこれでは 文字列の一番最初のものが引っかかりません 「行頭または数字かドット以外に続く」 というのを表現できればいいのですが いろいろ試してもうまくいきません どう書けばいいのでしょうか

  • (a+c)(a-c)=(d+b)(d-b)でa,b,c,dがそれぞれ異なる自然数の時

    (a+c)(a-c)=x (d+b)(d-b)=x とした時、xが成立する最小の自然数は15だというのはわかるのですが、それを証明する術を教えてください。

  • 英訳:「最も大きいのはAで、残りはB、C、Dの順であった」

    英訳でうまい表現を教えていただけませんか。例えば体重などが、A,B,C,Dの順で大きい場合、にそれらの大小関係を表現する場面を想定しています。 「最も大きいのはAで、残りはB、C、Dの順であった」 The largest was Aというのはわかりますが、「残りは・・・の順であった」の部分をnativeが聞いて自然な表現にしたいと思っております。ちなみに口語ではなく、文章表現です。

  • 数学Aの場合の数 a<b+1<c+2<d+3?

    はじめまして。 数学Aの確立の解法がわからずに困っています。 問題1 123456789の9つの数字から重複を許して4つ選び、4桁の整数を作る。 千、百、十、一の位をそれぞれa,b,c,dとする。 a≦b≦c≦dである整数 回答 1≦a≦b≦c≦d≦9⇔1≦a<b+1<c+2<d+3≦12 よって12こから4つ選んでそれをa,b+1,c+2,d+3とすることと同値 よって12C4=495 問題2 男子4人と女子3人が横一列に並ぶ。 女子3名をA,B,Cさんとそれぞれする。 女子3名が隣り合わない並び方。 回答 8人の場所を左から12345678として3人の女子の番号をa.b.cとして 1≦a<b<c≦8(差は2以上)⇔1≦a<b-1<c-2≦6 よって6C3=20。これが女子が隣り合わない組み合わせ。 全体を考えて20*3!*5!=14400 という問題です。 それぞれ問題1では1ずつ足していって、問題2では1づつ引いていったということは分かるのですが、問題1では足して2ではひいたのが何故か分かりません。 1をやった後に2を解いたので、「なんでこっちは引いてるの?」って思ったのですが? この≦から<に変える作業はコンビネーションを使えるようにするためにやっていますよね。なら別に足しても引いても変わらないんじゃ…と思ったのですが、違いはなんでしょうか? ------------------------------------------------------------------- また 0 1 2 4 4 5 のカードがある。これを並べて整数を作る時 230000以上の整数はいくつあるか? で 回答は 整数をabcdefとして a=4 5!=120 a=5  5!÷2=60 ab=24 4!=24 ab=25 4!÷2=12 で216なのですが、これってa=4の場合って4は2枚あるので、どちらの4をaに持ってきたかで2通りあるので5!*2にしなくて良いのでしょうか? 長文になってしまいましたが、最後まで見ていただいてありがとうございます。 回答をよろしくお願いします。