2017-05-08 21 views
1

私は、セパレータと2桁の10進数としてドットでdouble値の文字列の解釈を取得しようとしたがよ(?):だから私が使用しようとしていたのNumberFormatInfo NumberDecimalDigits

double d = 8.78595469; 
Console.WriteLine(d.ToString("F")); 

戻り8,78

this質問に応じNumberFormatInfoクラス:

double d = 8.78595469; 

var formatInfo = new NumberFormatInfo 
{ 
    NumberDecimalSeparator = ".", 
    NumberDecimalDigits = 2 
}; 

Console.WriteLine(d.ToString(formatInfo)); 

返し8.78595469、うまくSEPAR atorはちょうど私が欲しかったのですが、2桁以上の10進数があるのはなぜですか?

編集:私はこれを達成するための他の方法を探していないよ

(私は.ToString("0.00", CultureInfo.InvariantCulture)を使用することができますが、機能しない理由NumberDecimalDigits私は思ったんだけど()

+0

d.ToString( "F"、formatInfo)? –

答えて

3

使用したい場合は? NumberFormatInfoの場合、N書式指定子を使用する必要があります。

double d = 8.78595469; 

var formatInfo = new NumberFormatInfo 
{ 
    NumberDecimalSeparator = ".", 
    NumberDecimalDigits = 2 
}; 

Console.WriteLine(string.Format(formatInfo, "{0:N}", d)); <--- N specifier 
関連する問題