Удалите $из .ToString( "{0: C}" ) отформатированный номер
В основном я форматирование чисел, подобных этому
@String.Format("{0:C}", Model.Price)
В результате получается $2,320,000.00
Мой желаемый результат, однако, 2,320,000.00
без $
, соответственно. Как я могу достичь этого, сохраняя при этом возможность использования локализации локализации .nets?
Edit
и что, если я хочу, чтобы это изменило мой класс, чтобы когда-либо человек пытался получить Price
, он получает такую форматированную цену. Вот мой класс
public class Listing : DomainObject
{
public decimal Price { get; set; }
public decimal Commission { get; set; }
}
Ответы
Ответ 1
Используйте 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
т.е. вы получали символ валюты, потому что вы просили его.
Ответ 2
Установите CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol
в string.Empty
.
Ответ 3
Вы хотите сделать свойство Price строкой и иметь поле поддержки десятичного числа, а затем в getter вашего свойства Price введите свой строковый формат.
private decimal price;
public String Price
{
get { return String.Format("{0:N}", price); }
}
Затем вы можете использовать
@Model.Price
для отображения.
Ответ 4
Скорее используйте {0:F2}
, поскольку это не будет включать запятую ',' как в {0: C}.
Console.Write("{0:F2}", 2.5); //2.50
Console.Write("{0:F0}", 25); //25