0

エポックからの秒数を返す関数があります:

public static string getEpochSeconds()
{
   TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
   var timestamp = t.TotalSeconds;
   return timestamp.ToString();
}

たとえば、次のように出力されます: 1373689200.79987しかし、私のアプリケーションの目的のために、もう 1 つの小数点以下の桁を出力する必要があります (たとえば、1373689200.799873 )。これはどのように可能ですか?

ありがとう!

4

4 に答える 4

6

使ってみて

return String.Format("{0}", timestamp.TotalSeconds);

その後、フォーマット文字列を使用できます。フォーマット情報については、この MSDN の記事を参照してください。

編集1:

正しいフォーマットをありがとう@MortenMertner。

使用してみてください:

return String.Format("{0:N6}", timestamp.TotalSeconds);

小数点以下6桁を強制します。

編集2:

カスタムの数値書式文字列標準の数値書式文字列を検索して、これを行う最適な方法を見つけることができます。

1 つの方法は、 (どちらも標準の数値書式文字列ですF) の代わりに使用することです。カンマで千単位を区切ります。NNF

return String.Format("{0:F6}", timestamp.TotalSeconds);

編集3:

@sa_ddam213 が彼の回答で指摘しているように、標準ToString()メソッドには、書式設定パラメーターを受け入れるオーバーロードがあります。MSDNはここでそれを文書化しています。標準の数値書式文字列またはカスタム数値書式文字Double列を受け入れることがはっきりとわかるので、@ sa_daam213の答えも非常にうまく機能し、元のコードと非常に似ていますが、私の編集のように使用する代わりに上記の2N6F6

于 2013-07-15T03:09:25.683 に答える
4

あなたが使用することができます timestamp.ToString("0.000000")

値を丸めずに結果が必要な場合

return t.TotalSeconds.ToString("F0")+"." +t.ToString("ffffff");
于 2013-07-15T03:13:25.027 に答える
3

N6(小数点以下6桁)を追加できるはずですToString()

例:

public static string getEpochSeconds()
{
    TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
    var timestamp = t.TotalSeconds;
    return timestamp.ToString("N6");
}
于 2013-07-15T03:14:07.653 に答える