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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.3642 の関連記事表示

<< 0 >>
■3642  C# のFormat関数
□投稿者/ C# 無知 -(2007/05/18(Fri) 00:23:19)

    分類:[C# (Windows)] 


    分類:[C# (Windows)] 

    VBでは、Format(20000101,"yyyy/MM/dd")で
        「2000/01/01」を返しますが、C#だと旨くいきません。

        どなたか、ご存知の方がおられたら教えてもらえないでしょうか?

        よろしくお願いします。
親記事 /過去ログ12より / 関連記事表示
削除チェック/

■3646  Re[1]: C# のFormat関数
□投稿者/ 未記入 -(2007/05/18(Fri) 00:43:33)
    No3642 (C# 無知 さん) に返信
    > VBでは、Format(20000101,"yyyy/MM/dd")で
    >     「2000/01/01」を返しますが、C#だと旨くいきません。
    >
    >     どなたか、ご存知の方がおられたら教えてもらえないでしょうか?
    >
    >     よろしくお願いします。

    いいえ。VBでもC#でもFormat関数を使うならば同じ結果が返ります。

    あなたがC#の方で対比しているのは.NET FrameworkのString.Formatメソッドではないですか?
    VBの勝手にいろんなことをしやがる実装は問題となることも多いので、.NET Frameworkではどの位置に何があるのかを示す
    書式指定や各種書式用のプロバイダを使って明示化する必要があります。
    キーワードは「カスタム書式」かな。
記事No.3642 のレス /過去ログ12より / 関連記事表示
削除チェック/

■3648  Re[1]: C# のFormat関数
□投稿者/ 魔界の仮面弁士 -(2007/05/18(Fri) 01:09:45)
    No3642 (C# 無知 さん) に返信
    > VBでは、Format(20000101,"yyyy/MM/dd")で
    >     「2000/01/01」を返しますが、
    どう見ても、何らかのエラーになると思いますけど……。(^_^;)
    VB6 で書くとすれば、Format(20000101,"0000/00/00") でしょう。

    もし、第一引数が #1/1/2000# の間違いだとしても、
    "2000/01/01" を返すために "yyyy/MM/dd" を指定するのは誤りです。


    > C#だと旨くいきません。
    VB の Format 関数は、書式(第2引数)の内容を基にして、データ(第1引数)の型を動的に決定し、
    暗黙の型変換を行いますが、.NET の String.Format メソッドはそうではありません。
    数値型に対しては数値書式、日付型に対しては日付書式を指定する必要があります。
記事No.3642 のレス /過去ログ12より / 関連記事表示
削除チェック/

■3650  Re[1]: C# のFormat関数
□投稿者/ Jitta -(2007/05/18(Fri) 07:37:51)
    No3642 (C# 無知 さん) に返信
    >
    > 分類:[C# (Windows)] 
    >
    > VBでは、Format(20000101,"yyyy/MM/dd")で
    >     「2000/01/01」を返しますが、C#だと旨くいきません。
    >
    >     どなたか、ご存知の方がおられたら教えてもらえないでしょうか?
    >
    >     よろしくお願いします。
    >

    必ず千万単位まで指定されているとして。

    千で割って小数点以下を切り捨てたものが 年
    年を千倍して元の数から引き、百で割って小数点以下を切り捨てたものが 月
    年を千倍したものと月を百倍したものの和を元の数から引いたものが 日

    これを、string.Format("{0:0d4}/{1:0d2}/{2:0d2}",年,月,日) だったかな?先行0で桁指定の仕方忘れた。MSDNの文字列書式を見てやってください。
    それと、もとの数字は、型とその範囲に注意。


    無知は悪くないが、無知でいることは良くない。無知を自覚するなら、リファレンスくらい読もう。
記事No.3642 のレス /過去ログ12より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -