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

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

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

Re[3]: 型変換について


(過去ログ 64 を表示中)

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

■36801 / inTopicNo.1)  型変換について
  
□投稿者/ 初心者 (20回)-(2009/06/05(Fri) 14:40:31)

分類:[.NET 全般] 

stringの"04"をConvert.ToInt32を使ってint型に変換したら、ゼロなしで4のみになりますが、
ゼロをそのままにして(04)の変換方を教えてもらいたいです。
お願いします
引用返信 編集キー/
■36803 / inTopicNo.2)  Re[1]: 型変換について
□投稿者/ 囚人 (368回)-(2009/06/05(Fri) 14:49:05)
数値に「04」と「4」を区別する概念なんてないです。
何に使いたいんです?
引用返信 編集キー/
■36804 / inTopicNo.3)  Re[1]: 型変換について
□投稿者/ ぱぱいやん (39回)-(2009/06/05(Fri) 14:53:40)
ぱぱいやん さんの Web サイト
No36801 (初心者 さん) に返信
> stringの"04"をConvert.ToInt32を使ってint型に変換したら、ゼロなしで4のみになりますが、
> ゼロをそのままにして(04)の変換方を教えてもらいたいです。
> お願いします

数字の 4 は 4 以外にあり得ないのです。
04 は、4 という数字の表現方法として文字列にするという考え方です。

引用返信 編集キー/
■36805 / inTopicNo.4)  Re[2]: 型変換について
□投稿者/ 初心者 (22回)-(2009/06/05(Fri) 15:00:22)
No36803 (囚人 さん) に返信
> 数値に「04」と「4」を区別する概念なんてないです。
> 何に使いたいんです?
DBの日付はstring「20090605」のようにしています。
月をマイナス1にして、「20090505」に日付を変換したいです。
自分がやりましたのは:
substringで月を取得し、int型に変換してから-1、そしてstring型に戻すのことでした。
でも上で話したように、「0」が付けてこないです。

引用返信 編集キー/
■36806 / inTopicNo.5)  Re[1]: 型変換について
□投稿者/ .SHO (858回)-(2009/06/05(Fri) 15:01:22)
No36801 (初心者 さん) に返信
> stringの"04"をConvert.ToInt32を使ってint型に変換したら、ゼロなしで4のみになりますが、

ゼロなしで4のみになることを、どうやって確認したのですか?
引用返信 編集キー/
■36807 / inTopicNo.6)  Re[3]: 型変換について
□投稿者/ .SHO (859回)-(2009/06/05(Fri) 15:02:30)
No36805 (初心者 さん) に返信

> substringで月を取得し、int型に変換してから-1、そしてstring型に戻すのことでした。

string型に戻す時に「0」を付ければいいです。
引用返信 編集キー/
■36809 / inTopicNo.7)  Re[2]: 型変換について
□投稿者/ ぱると (36回)-(2009/06/05(Fri) 15:06:41)
そもそも数値型ではなく日付型に変換して-1ヶ月しないとだめじゃないですか?
例)3/31
引用返信 編集キー/
■36811 / inTopicNo.8)  Re[3]: 型変換について
□投稿者/ 囚人 (369回)-(2009/06/05(Fri) 15:12:17)
>DBの日付はstring「20090605」のようにしています。
>月をマイナス1にして、「20090505」に日付を変換したいです。

そんな事したら、「1月」のときどうなんの?って思いますが…。
DateTime 型に変換して、-1ヶ月したほうが良いと思いますよ。
引用返信 編集キー/
■36812 / inTopicNo.9)  Re[3]: 型変換について
□投稿者/ 初心者 (24回)-(2009/06/05(Fri) 15:14:59)
No36809 (ぱると さん) に返信
> そもそも数値型ではなく日付型に変換して-1ヶ月しないとだめじゃないですか?
> 例)3/31
現在のプログラム中には、パラメーダとして「20090605」ような日付を渡してくるんです。
「20090605」に手をつけるしかないですね
引用返信 編集キー/
■36813 / inTopicNo.10)  Re[3]: 型変換について
□投稿者/ 魔界の仮面弁士 (1123回)-(2009/06/05(Fri) 15:17:05)
No36805 (初心者 さん) に返信
> DBの日付はstring「20090605」のようにしています。
> 月をマイナス1にして、「20090505」に日付を変換したいです。

「1 月」の前は「12月」なので、日付型で処理したほうがよいかと。

// JScript .NET
import System;

var sDate : String = '20090605';
var dDate : DateTime = DateTime.ParseExact(sDate, 'yyyyMMdd', null);
var dPre : DateTime = dDate.AddMonths(-1);

var sMonth : String = dPre.ToString("MM");
var iMonth : Int32 = dPre.Month;


' Visual Basic .NET
Dim sDate As String = "20090605"
Dim dDate As Date = DateTime.ParseExact(sDate, "yyyyMMdd", Nothing)
Dim dPre As Date = dDate.AddMonths(-1)

Dim sMonth As String = dPre.ToString("MM")
Dim iMonth As Integer = dPre.Month
引用返信 編集キー/
■36814 / inTopicNo.11)  Re[4]: 型変換について
□投稿者/ ぱると (37回)-(2009/06/05(Fri) 15:17:14)
2009/06/05(Fri) 15:19:32 編集(投稿者)

No36812 (初心者 さん) に返信
> 現在のプログラム中には、パラメーダとして「20090605」ような日付を渡してくるんです。
> 「20090605」に手をつけるしかないですね

そんなことないですよ、渡されたパラメーターが
文字列の"20090605"であれ数値の20090605であれ
日付型に変換して計算して、
計算結果を文字列または数値に変換してやれば良いのではないでしょうか?

追加:ちょうど良く魔界の仮面弁士さんのロジックの日本語訳になったみたいです
引用返信 編集キー/
■36815 / inTopicNo.12)  Re[3]: 型変換について
□投稿者/ みきぬ (457回)-(2009/06/05(Fri) 15:29:01)
2009/06/05(Fri) 15:31:07 編集(投稿者)

さてここで問題です。
渡された文字列が「20090330」だったら、結果はどうなればいいんでしょうね?

-----
既に No36809 で指摘されてた orz
引用返信 編集キー/
■36816 / inTopicNo.13)  Re[5]: 型変換について
□投稿者/ 初心者 (25回)-(2009/06/05(Fri) 15:31:34)
No36814 (ぱると さん) に返信
> 2009/06/05(Fri) 15:19:32 編集(投稿者)
>
> ■No36812 (初心者 さん) に返信
>>現在のプログラム中には、パラメーダとして「20090605」ような日付を渡してくるんです。
>>「20090605」に手をつけるしかないですね
>
> そんなことないですよ、渡されたパラメーターが
> 文字列の"20090605"であれ数値の20090605であれ
> 日付型に変換して計算して、
> 計算結果を文字列または数値に変換してやれば良いのではないでしょうか?
>
> 追加:ちょうど良く魔界の仮面弁士さんのロジックの日本語訳になったみたいです

はい、理解して、解決しました。
みんなさんありがとうございました。
引用返信 編集キー/
■36824 / inTopicNo.14)  Re[6]: 型変換について
□投稿者/ まさる (90回)-(2009/06/05(Fri) 19:56:43)
まさる さんの Web サイト
No36816 (初心者 さん) に返信
> はい、理解して、解決しました。
> みんなさんありがとうございました。

解決済み付けときますね。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -