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

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

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

文字列のフォーマット


(過去ログ 7 を表示中)

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

■7366 / inTopicNo.1)  文字列のフォーマット
  
□投稿者/ みやせ 二等兵(15回)-(2006/10/09(Mon) 14:21:25)

分類:[C#] 


分類:[C#] 

こんにちわ。いつもお世話になってます。

dataGrid1はデータグリッドビューです。
下記のように書いたら当然のことながらTo.String()はオーバーロードはありませんといわれます。

DataGridViewCell c = dataGrid1.CurrentCell;
int cr = c.RowIndex;
int cc = c.ColumnIndex;

dataGrid1[cc,cr].Value.ToString("00000")

セルの値を取得し、フォーマットしたいのですがどのようにしたらよいかわかりません、ご教授お願いします。


0
引用返信 編集キー/
■7368 / inTopicNo.2)  Re[1]: 文字列のフォーマット
□投稿者/ επιστημη 中佐(208回)-(2006/10/09(Mon) 14:42:56)
επιστημη さんの Web サイト

分類:[C#] 

> セルの値を取得し、フォーマットしたいのですがどのようにしたらよいかわかりません、ご教授お願いします。

String.Format(書式,値...) 使えばいいんじゃないかと。


0
引用返信 編集キー/
■7371 / inTopicNo.3)  Re[2]: 文字列のフォーマット
□投稿者/ みやせ 二等兵(16回)-(2006/10/09(Mon) 16:52:16)

分類:[C#] 

No7368に返信(επιστημηさんの記事)

> String.Format(書式,値...) 使えばいいんじゃないかと。

επιστημηさん返答ありがとうございます。

String Name = String.Format("0000_00_00",dataGrid1.Rows[cr].Cell[0].Value + "_" + dataGrid1.Rows[cr].Cells[1].Value+ "_" + dataGrid1.Rows[cr].Cells[2].Value);

このようにやってみましたができません。なにか間違っているでしょうか。

0
引用返信 編集キー/
■7372 / inTopicNo.4)  Re[3]: 文字列のフォーマット
□投稿者/ επιστημη 中佐(209回)-(2006/10/09(Mon) 17:11:40)
επιστημη さんの Web サイト

分類:[C#] 

> このようにやってみましたができません。

「できません」だけじゃわからんってば。


0
引用返信 編集キー/
■7373 / inTopicNo.5)  Re[3]: 文字列のフォーマット
□投稿者/ はいこーん 少尉(130回)-(2006/10/09(Mon) 17:23:59)

分類:[C#] 

文字列を文字列でフォーマットなんてフツーにはできないよ。
数値ならできるけど。

カスタムフォーマットでも使えば可能。


0
引用返信 編集キー/
■7374 / inTopicNo.6)  Re[4]: 文字列のフォーマット
□投稿者/ だく 二等兵(12回)-(2006/10/09(Mon) 17:42:38)

分類:[C#] 

どんな値をどんなふうに表示したいのか具体的に示されていないので
サンプルコードからなんとなく想像して回答します。
例えば、2という値を、00002 と表示したい場合は、

2.ToString.PadLeft(5, "0"c)

とすればできます。
PadLeftについてはヘルプを見てください。
それと、String.Formatの使い方が間違っているように思われますので、
String.Formatのヘルプをもう一度確認してみてください。

0
引用返信 編集キー/
■7379 / inTopicNo.7)  Re[5]: 文字列のフォーマット
□投稿者/ みやせ 二等兵(17回)-(2006/10/10(Tue) 08:47:59)

分類:[C#] 

No7374に返信(だくさんの記事)
遅くなりました。返答ありがとうございます。
まずいつもながら質問に足りない所があったことをお詫びいたします。すいません。

>「できません」だけじゃわからんってば。
フォーマットできないということです。
具体的には
>String.Format(書式,値...) 使えばいいんじゃないかと。
このやり方ではNameにただ"0000_00_00"が代入されるだけでした。

> どんな値をどんなふうに表示したいのか具体的に示されていないので
おっしゃるとおり2などを0002のようにしたいということです。

>String.Formatの使い方が間違っているように思われますので
すいません先ほど確認しました。かなり勘違いしていました。

PadLeftという関数があることは全然知りませんでした。ヘルプを見ながら使ってみます。ありがとうございます。

また質問に対する不備や至らぬところがあったらご指摘よろしくお願いします。


0
引用返信 編集キー/
■7391 / inTopicNo.8)  Re[6]: 文字列のフォーマット
□投稿者/ みやせ 二等兵(18回)-(2006/10/10(Tue) 16:23:05)

分類:[C#] 

返事遅くなりましたが
επιστημηさん、はいこーんさん、だくさんアドバイスありがとうございます。

String l = Convert.ToString(DataGridView.Rows[cr].Cells[0].Value);
String m = Convert.ToString(DataGridView.Rows[cr].Cells[1].Value);

l = l.PadLeft(4, '0');
m = m.PadLeft(2, '0');

String Name = String.Format(l+"_"+m);

Nameに"0000_00"のようにデータグリッドの値を代入することができました。
今回はフォーマット以外にもデータグリッドのことも全然理解していなかったために解決することができなかったと痛感しています。すいませんでした。


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


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

このトピックに書きこむ

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

管理者用

- Child Tree -