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

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

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

Re[2]: C#のFormat


(過去ログ 69 を表示中)

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

■40085 / inTopicNo.1)  C#のFormat
  
□投稿者/ おもみ (1回)-(2009/08/20(Thu) 11:21:02)

分類:[C#] 

どなたか教えて下さい。

まず、OracleDataReaderでデータを読み込んで、それをテキストボックスに
表示する処理をしたいのですが、

処理そのものは非常に簡単なので全く問題なくできるのですが、
読み込んだデータは「13」などのように2桁の整数で表示されます。

これを整数2桁プラス小数点以下2桁の「13.00」のように表示させたいです。

VB2005で作成したときは、

mySQL = "簡単なSELECT文"
myCmd = New OracleCommand(mySQL, OracleConnection)
myRead = myCmd.ExecuteReader()

While myRead.Read()
TextBox7.Text = Format(myRead.GetValue(0), "0.00")
End While

で出来たのですが、C#ではどのように書けば良いのか分かりません。

説明がかなり下手なので、うまく伝わるか自信があまりないのですが、
どなたかよろしくお願いします。
引用返信 編集キー/
■40086 / inTopicNo.2)  Re[1]: C#のFormat
□投稿者/ ごう (36回)-(2009/08/20(Thu) 11:28:42)
2009/08/20(Thu) 12:58:23 編集(投稿者)

すみません

間違った記述を投稿してしまいました
この書き方は使用しないでください。




TextBox7.Text = String.Format(myRead.GetValue(0), "0.00")

でよいのではないでしょうか。

引用返信 編集キー/
■40088 / inTopicNo.3)  Re[2]: C#のFormat
□投稿者/ ごう (37回)-(2009/08/20(Thu) 11:36:32)
No40086 (ごう さん) に返信
> TextBox7.Text = String.Format(myRead.GetValue(0), "0.00")
>
> でよいのではないでしょうか。
>

すみません


myRead.GetValue(0)をfloat型に変換してから

float fValue = float.Parse(myRead.GetValue(0));
String.Format("{0:f2}", fValue);

でどうでしょうか


# myRead.GetValue(0)が必ず数値であるという前提で作っています
引用返信 編集キー/
■40094 / inTopicNo.4)  Re[2]: C#のFormat
□投稿者/ おもみ (2回)-(2009/08/20(Thu) 12:01:54)
No40086 (ごう さん) に返信
> TextBox7.Text = String.Format(myRead.GetValue(0), "0.00")
>
> でよいのではないでしょうか。
>

回答ありがとうございます。
早速そのようにやってみたのですが、

「'string.Format(string, object)'に最も適しているオーバーロードメソッドには
 無効な引数がいくつか含まれています。」
「引数 '1': 'object'から'String'に変換できません。」

という2つのエラーが発生しました。

2つめのエラーの方は分かるのですが、1つめのエラーが
多分、そのままの意味なのでしょうが、よく分かりません;;

重ねて申し訳ありませんが、回答をお願いします。
引用返信 編集キー/
■40097 / inTopicNo.5)  Re[3]: C#のFormat
□投稿者/ 魔界の仮面弁士 (1230回)-(2009/08/20(Thu) 12:25:09)
No40094 (おもみ さん) に返信
>>TextBox7.Text = String.Format(myRead.GetValue(0), "0.00")
Format 関数と String.Format とでは、引数の順序が違います。

> 「'string.Format(string, object)'に最も適しているオーバーロードメソッドには
>  無効な引数がいくつか含まれています。」
第1引数が string 型、第2引数が object 型でなければならないのに、呼び出しを、
>>TextBox7.Text = String.Format(myRead.GetValue(0), "0.00")
という、object, string という逆の順序で指定してしまっているからです。

> 重ねて申し訳ありませんが、回答をお願いします。
No40086 の回答は正しくないので、その後の
No40088 の投稿を参考にしてみてください。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -