Это все до NumberFormatInfo.CurrencyNegativePattern
. Предположительно, у вас есть значение 0, когда кажется, что вы хотите:
Неясно, используете ли вы в настоящее время CultureInfo
пользователя, серверный сервер или что-то еще. Но вы всегда можете клонировать ту культуру, которую используете, а затем модифицируете NumberFormatInfo
.
Пример кода:
using System;
using System.Globalization;
class Test
{
static void Main()
{
var original = new CultureInfo("en-us");
// Prints ($5.50)
Console.WriteLine(string.Format(original, "{0:C}", -5.50m));
var modified = (CultureInfo) original.Clone();
modified.NumberFormat.CurrencyNegativePattern = 1;
// Prints -$5.50
Console.WriteLine(string.Format(modified, "{0:C}", -5.50m));
}
}
Как я могу это сделать? Я имею в виду, в какой части моего проекта я должен разместить это для всех полей, сформированных в валюте, для обновления? – Laggel
@ Laggel: Я не знаю достаточно о интернационализации MVC, чтобы сказать, если честно, но я отредактировал свой ответ, чтобы показать вам, как изменить клонированную культуру. Я знаю, что это еще не все, но это, по крайней мере, начало ... –
Примечание: Я говорю о проекте ASP NET MVC. Там, где у меня нет основного метода. И я не использую string.Format для форматирования значений, они автоматически отформатируются DataAnnotations и @ Html.DisplayFor – Laggel