0

整数でカルチャを表示したいのですが、"n"数値形式では double 形式の出力が得られます。

ここに小さな例があります

int i = 10000;
Console.WriteLine(i.ToString("n", CultureInfo.CreateSpecificCulture("en-US")));

これは私に10,000.00

次のように出力したい10,000

文字列を変更するような回避策は必要ありません。

これを行う簡単な方法はありますか?

4

4 に答える 4

8

n0の代わりに使用nします。

int i = 10000;
Console.WriteLine(i.ToString("n0", CultureInfo.CreateSpecificCulture("en-US")));

出力は次のようになります。

10,000

または、次を使用できます。

Console.WriteLine(i.ToString("N0"));

以下が表示される場合があります:標準の数値書式文字列

数値 ("N") 形式指定子。

数値 ("N") 書式指定子は、数値を "-d,ddd,ddd.ddd…" の形式の文字列に変換します。ここで、"-" は必要に応じて負の数値記号を示し、"d"は数字 (0 -9)

ちなみに「N」も「n」も同じ

于 2012-12-14T09:47:52.843 に答える
3
Console.WriteLine("{0:n0}",i, CultureInfo.CreateSpecificCulture("en-US"));

またはあなたの元に近い

Console.WriteLine(i.ToString("n0"), CultureInfo.CreateSpecificCulture("en-US"));

実際の例: http://rextester.com/MDJI27648

于 2012-12-14T09:49:13.857 に答える
0

あなたはどんな数字を見たいですか?それは金額ですか?:

c (通貨) string.Format("{0:c}",i) $1,000,000.00

d (10 進数) string.Format("{0:d}",i) 1000000

e (科学) string.Format("{0:e}",i) 1.000000e+006

f (固定小数点) string.Format("{0:f}",i) 1000000.00

g (一般) string.Format("{0:g}",i) 1000000

n (セパレータあり)string.Format("{0:n}",i) 1,000,000.00

x 16 進数 string.Format("{0:x4}",i) f4240

于 2012-12-14T09:54:15.813 に答える
0

によって出力される小数点以下の桁数"n"は、プロパティによって指定されNumberFormatInfo.NumberDecimalDigitsます。

これを変更してからCultureInfo、すべてのToString呼び出しで を使用して、文字列が一貫していることを確認できます。

var customCI = CultureInfo.CreateSpecificCulture("en-US");
customCI.NumberFormat.NumberDecimalDigits = 0;

Console.WriteLine(i.ToString("n", customCI));
于 2012-12-14T09:56:37.187 に答える