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

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

C# と VB.NET の入門サイト

Re[1]: 数値項目の VB編集


(過去ログ 44 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

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

分類:[.NET 全般] 

お世話になります。

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

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

ちなみに"1" の場合は 頭に "000001"という編集を行いたいと思っています。
必ず6桁で埋めたいと思っております。

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

PadLeft
引用返信 編集キー/
■23429 / inTopicNo.3)  Re[2]: 数値項目の VB編集
□投稿者/ 1ヶ月目 (2回)-(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
解決済み
引用返信 編集キー/
■23432 / inTopicNo.4)  Re[1]: 数値項目の VB編集
□投稿者/ シャノン (571回)-(2008/08/14(Thu) 15:00:16)
No23427 (1ヶ月目 さん) に返信
> DBから取得した値が"100"という数値だった場合、
> VB側で頭に"000"をつけて "000100"という文字列に編集したいと思っているのですが、
> なにか簡単な方法はありますでしょうか。

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

揚げ足を取っているつもりはありません。
整形元のデータが文字列なのか数値なのかによってやり方が変わってくるからです。
文字列ならば鶏唐揚さんの PadLeft、数値ならば String.Format 等で可能です。
引用返信 編集キー/
■23433 / inTopicNo.5)  Re[3]: 数値項目の VB編集
□投稿者/ 魔界の仮面弁士 (815回)-(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)
解決済み
引用返信 編集キー/
■23434 / inTopicNo.6)  Re[3]: 数値項目の VB編集
□投稿者/ επιστημη (1240回)-(2008/08/14(Thu) 15:08:40)
επιστημη さんの Web サイト
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

解決済み
引用返信 編集キー/
■23435 / inTopicNo.7)  Re[3]: 数値項目の VB編集
□投稿者/ はつね (829回)-(2008/08/14(Thu) 15:08:50)
はつね さんの Web サイト
wk = Format(su, "000000")

もしくは

wk = su.ToString("000000")

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -