• 締切済み

VB2005で(1)を1に変換したい

こんにちは。 1つ教えてください。 VB2005で(1)から(20)を0001から0020に変換したいのですが(最初に0を付けて4文字にする) 何かよい方法はありませんか? 宜しくお願いします。

みんなの回答

回答No.4

他の方の回答を見て、なるほどなるほど、囲み文字ことですか。 決め打ちならこんなんでいいのでは。 下のコードでは、もちろん、対象文字1文字である必要があるので、元データが『文字列』ならば、 対象文字を抽出するとか、対象が何文字目なのか把握するとかしないといけませんが。 Const SUBTRACT_VALUE As Integer = 9311 ' 9312が(1)、9331が(20) Dim target As String = "(20)" Dim result As String = String.Format("{0:D4}", Convert.ToInt16(target(0)) - SUBTRACT_VALUE) Console.WriteLine(result)

FILETUBE
質問者

補足

naktakさん回答ありがとうございました。 Const SUBTRACT_VALUE As Integer = 931 String.Format("{0:D4}", Convert.ToInt16(vKMK(0)) - SUBTRACT_VALUE) で変換できました。 感動ですね。 Const SUBTRACT_VALUE As Integer = 9311 ' 9312が(1)、9331が(20)と ありますが まる1もまる2も変換できましたがConst SUBTRACT_VALUE とは何なのでしょうか?

すると、全ての回答が全文表示されます。
  • wtz
  • ベストアンサー率50% (30/59)
回答No.3

ひょっとして (1) とかいうのは機種依存文字の丸数字のことですか? 違っていたらすいません。

FILETUBE
質問者

補足

wtzさんありがとうございます。 このサイトで投稿すると変わってしまいますが まる1は丸数字文字です。まる20まで使います

すると、全ての回答が全文表示されます。
回答No.2

> ですが まる1 を 0001に変換したいのですが。 元々の値は"01"という文字列ということでしょうか? もしそうであれば、Integerに変換すればいいです。 string.Format("{0:D4}", Ctype("01", Integer)) こんな感じ。 Dim target As String = "01" Dim result As String = String.Format("{0:D4}", CType(target, Integer)) Console.WriteLine(result)

すると、全ての回答が全文表示されます。
回答No.1

string.Format("{0:D4}", value) value値は数値型である必要があります。 必要に応じて数値にキャストした値を渡してください。

FILETUBE
質問者

補足

回答ありがとうざいます。 string.Format("{0:D4}", value) ですが まる1 を 0001に変換したいのですが。 大丈夫ですか?

すると、全ての回答が全文表示されます。

関連するQ&A