C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.23427 の関連記事表示

<< 0 >>
■23427  数値項目の VB編集
□投稿者/ 1ヶ月目 -(2008/08/14(Thu) 14:16:39)

    分類:[.NET 全般] 

    お世話になります。

    ASP.NET2.0 VB.NET VS2005で開発しております

    DBから取得した値が"100"という数値だった場合、
    VB側で頭に"000"をつけて "000100"という文字列に編集したいと思っているのですが、
    なにか簡単な方法はありますでしょうか。

    ちなみに"1" の場合は 頭に "000001"という編集を行いたいと思っています。
    必ず6桁で埋めたいと思っております。
親記事 /過去ログ44より / 関連記事表示
削除チェック/

■23428  Re[1]: 数値項目の VB編集
□投稿者/ 鶏唐揚 -(2008/08/14(Thu) 14:19:37)
    No23427 (1ヶ月目 さん) に返信
    > DBから取得した値が"100"という数値だった場合、
    > VB側で頭に"000"をつけて "000100"という文字列に編集したいと思っているのですが、
    > なにか簡単な方法はありますでしょうか。
    > ちなみに"1" の場合は 頭に "000001"という編集を行いたいと思っています。
    > 必ず6桁で埋めたいと思っております。

    PadLeft
記事No.23427 のレス /過去ログ44より / 関連記事表示
削除チェック/

■23429  Re[2]: 数値項目の VB編集
□投稿者/ 1ヶ月目 -(2008/08/14(Thu) 14:28:35)
    すいません
    これでいけました。


    Private Sub InitHenshu(ByRef wkint As Integer)
    Dim wk As String
    Dim su As Int16
    Try
    '文字列の変換
    wk = CStr(wkint)
    su = Len(wk)

    For su = su To 5
    wk = "0" + wk
    Next
    Catch ex As Exception
    Call mSubErrDisplay(ex)
    End Try
    End Sub
記事No.23427 のレス / END /過去ログ44より / 関連記事表示
削除チェック/

■23435  Re[3]: 数値項目の VB編集
□投稿者/ はつね -(2008/08/14(Thu) 15:08:50)
>
    wk = Format(su, "000000")

    もしくは

    wk = su.ToString("000000")
記事No.23427 のレス / END /過去ログ44より / 関連記事表示
削除チェック/

■23434  Re[3]: 数値項目の VB編集
□投稿者/ επιστημη -(2008/08/14(Thu) 15:08:40)
>
    2008/08/14(Thu) 15:09:56 編集(投稿者)

    PadLeftの方が32倍楽だってば。

    Module PadLeft_demo
    Sub Main()
    Dim i As Integer = 100
    Dim s As String = i.ToString().PadLeft(6,"0"c) ' たったこんだけ
    Console.WriteLine("[{0}]",s)
    End sub
    End Module
記事No.23427 のレス / END /過去ログ44より / 関連記事表示
削除チェック/

■23433  Re[3]: 数値項目の VB編集
□投稿者/ 魔界の仮面弁士 -(2008/08/14(Thu) 15:07:25)
    No23429 (1ヶ月目 さん) に返信
    > これでいけました。
    変数 wk に入れていますが、それが一切使われていないような…。
    それと引数は、ByVal で十分では無いでしょうか。


    で、ループで処理するという現状の方法でも良いですが、
    下記のように、もっと短く記述する事もできます。


    >>> 必ず6桁で埋めたいと思っております。
    元データが数値型(code As UInteger など)であるならば
     Dim wk As String = code.ToString("000000")

    元データが文字列型(code As String)であるならば
     Dim wk As String = (code & "").PadLeft(6, "0"c)
記事No.23427 のレス / END /過去ログ44より / 関連記事表示
削除チェック/

■23432  Re[1]: 数値項目の VB編集
□投稿者/ シャノン -(2008/08/14(Thu) 15:00:16)
    No23427 (1ヶ月目 さん) に返信
    > DBから取得した値が"100"という数値だった場合、
    > VB側で頭に"000"をつけて "000100"という文字列に編集したいと思っているのですが、
    > なにか簡単な方法はありますでしょうか。

    「"100"という数値」という表現は誤解を招きそうです。
    「"100"」は文字列であり数字ですが、数値ではありません。
    「100」ならば数値です。

    揚げ足を取っているつもりはありません。
    整形元のデータが文字列なのか数値なのかによってやり方が変わってくるからです。
    文字列ならば鶏唐揚さんの PadLeft、数値ならば String.Format 等で可能です。
記事No.23427 のレス /過去ログ44より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -