web-dev-qa-db-ja.com

.ToString( "{0:C}")形式の数値から$を削除します

基本的に私はこのような数字をフォーマットしています

@String.Format("{0:C}", Model.Price)

結果は$ 2,320,000.00です

ただし、私の希望する結果は2,320,000.00なし$、それぞれ。 .netsローカリゼーション処理を利用しながら、どうすればこれを達成できますか?

編集

そして、クラスを変更して、Priceを取得しようとすると、この種のフォーマットされた価格を取得するようにしたい場合はどうすればよいでしょうか。これが私のクラスです

public class Listing : DomainObject
{   
    public decimal Price { get; set; }
    public decimal Commission { get; set; }
}
25
Ancient

形式指定子 としてNの代わりにCを使用します。

@String.Format("{0:N}", Model.Price)

「C」または「c」通貨結果:通貨値。

123.456(「C」、en-US)-> $ 123.46

「N」または「n」の数値結果:整数および小数点、グループ区切り文字、および小数点

1234.567( "N"、en-US)-> 1,234.57

つまりを求めていたため通貨記号を得ていました。

49

Priceプロパティを文字列にし、10進数のバッキングフィールドを作成してから、Priceプロパティのgetterで文字列形式を作成します。

private decimal price;

public String Price 
{
   get { return String.Format("{0:N}", price); }
}

その後、@Model.Priceを使用して表示できます。

3
ChrisGheen

むしろ{0:F2} {0:C}のように、これにはコンマが含まれないため。

Console.Write("{0:F2}", 2.5); //2.50
Console.Write("{0:F0}", 25);  //25
2
Nitin Katiyar
2
MarcinJuraszek