14

C#では、値が10215.24の2倍の変動価格があります。いくつかの桁の後にコンマで価格を表示したいと思います。私の期待する出力は10,215.24です

4

6 に答える 6

33
myPrice.ToString("N2");

必要に応じて、通貨記号を表示することもできます。

myPrice.ToString("C2");

(CまたはNの後の数字は、使用する小数点以下の桁数を示します)。(Cは、数値を通貨記号を含む通貨文字列としてフォーマットします)

完全に政治的に正しいために、使用する必要があるCultureInfoを指定することもできます。

于 2009-07-17T12:35:31.537 に答える
20

私はこれがそれをするべきだと思います:

String.Format("{0:C}", doubleVar);

通貨記号が必要ない場合は、次のようにします。

String.Format("{0:N2}", doubleVar);
于 2009-07-17T12:34:16.277 に答える
6

ちなみに、通貨の10進タイプを調べることをお勧めします。疫病が浮かぶ丸め誤差を回避しますが、整数とは異なり、小数点以下の桁を含めることができます。

于 2009-07-17T12:42:35.280 に答える
5

フォーマット文字列、具体的には「C」または「N」を調べます。

double price = 1234.25;
string FormattedPrice = price.ToString("N"); // 1,234.25
于 2009-07-17T12:34:45.733 に答える
3

これは役立つかもしれません

    String.Format("{#,##0.00}", 1243.50); // Outputs “1,243.50″

    String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50); // Outputs “$1,243.50″ 

    String.Format("{0:$#,##0.00;($#,##0.00);Zero}", -1243.50); // Outputs “($1,243.50)″ 

    String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0); // Outputs “Zero″ 
于 2010-01-06T12:42:45.833 に答える
0

欲しいのは「N2」です。

次に例を示します。

double dPrice = 29.999988887777666655554444333322221111; 
string sPrice = "£" + dPrice.ToString("N2"); 

あなたもこれが好きかもしれません:

string sPrice = "";

if(dPrice < 1)
{
    sPrice = ((int)(dPrice * 100)) + "p";

} else
{
    sPrice = "£" + dPrice.ToString("N2");

} 

これは次のようにうまく凝縮されます。

string sPrice = dPrice < 1 ? ((int)(dPrice * 100)).ToString("N0") + "p" : "£" + dPrice.ToString("N2"); 

その他のさまざまな種類のフォーマットについては、msdn.microsoft.com /en-us/library/fht0f5be.aspx を参照してください。

于 2014-03-05T16:11:36.670 に答える