- PR -

数字8桁を6桁にするには

投稿者投稿内容
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-03-18 14:13
 初歩的な質問ですいません。
VB2005で

Dim A AS Integer
Dim B AS Integer
A = 20080318

この後
Bの変数に080318をセットしたいのですが

B = Microsoft.VisualBasic.Right(A, 6)
としましたが
みんさんならどのようにされるのでしょうか?





末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2008-03-18 14:25
型が Integerのようなので剰余を取ればいいんじゃないですか?
ただ、080318にはならず 80318になると思いますが...

B=A Mod 1000000
とかで出来ないですかね?
Toshi
ベテラン
会議室デビュー日: 2007/09/18
投稿数: 68
お住まい・勤務地: 関東のどっか
投稿日時: 2008-03-18 14:29
これ
コード:

Dim A AS Integer
Dim B AS Integer


なんでしょうか??
なんとなく値を見ていると、AもBも
日付に関する情報を8桁もしくは6桁でもっている
気がします。

コード:

Dim A AS String
Dim B AS String



ではないですかね??
文字列で持たないと、頭0とかが非常にやっかいにからみませんかね・・・
もしStringなら Substringメソッドとかで実装しますけど・・
※言ってることがずれてたらすいません。そのときは流してください。

[ メッセージ編集済み 編集者: Toshi 編集日時 2008-03-18 14:30 ]
otf
ベテラン
会議室デビュー日: 2006/08/04
投稿数: 91
投稿日時: 2008-03-18 14:32
察するに日付の書式化がやりたいんでしょうか・・・。
なびさんのやりたいことってこういうことでは?

コード:

Dim value As DateTime = DateTime.Parse("2008/03/18")
Dim str As String = value.ToString("yyMMdd")



[ メッセージ編集済み 編集者: otf 編集日時 2008-03-18 14:34 ]
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-03-18 16:11
すいません。

元々はSQLServerからデータを取得しますが
そのSQLServerのデータ型はINTです。

データを取得した結果を格納する変数
のため
Dim A AS Integerにしています。

そのうちの6桁のみを
別の数値型の変数にセットしたいのです。



じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-03-18 16:35
引用:

なびさんの書き込み (2008-03-18 16:11) より:

データを取得した結果を格納する変数
のため
Dim A AS Integerにしています。

そのうちの6桁のみを
別の数値型の変数にセットしたいのです。


DateTime.Parse (ParseExact) メソッドもしくは ToString メソッドをご存知ないと受け取りました。 まずはここまでの回答についてご自身で調べてみましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ina
会議室デビュー日: 2008/03/10
投稿数: 4
投稿日時: 2008-03-18 17:21
Stringで"080318"にしたいとき私の場合は
A.ToString.Substring(A.ToString.Length - 6)
とします。
SQLに計算列として構文するか、Mod等で6桁分をIntegerで取り出し、
頭に"0"を付けた状態で表示したい(Stringにする)なら
1)Bを何らかの方法でIntegerで取り出す
2)B.Tostring("D6")
とします。
但し決してA.ToString.Substring(A.ToString.Length - 6).Tostring("D6")
としてはいけません。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-03-18 18:55
おーい、みんな!「数値型」としか書かれていないぞ?

Integerということは、負の整数もありえるわけだ。8桁の数字を6桁にする、その変換式がいるぞなもし。
単純に、下6桁で良さそうだけど。だったら未記人さんの方法だなぁ。

スキルアップ/キャリアアップ(JOB@IT)