Я пишу ниже, чтобы получить шаблон валютного формата.
Здесь прошел пары NumberFormat, как [Валюта] #, ## 0,00 и FR-FR локали; и получил # ## 0,00 «€ как желание и ожидаемое о/р.
static string[] CurrencyPositivePattern = { "$n", "n$", "$ n", "n $" };
static string[] CurrencyNegativePattern = { "($n)", "-$n", "$-n", "$n-", "(n$)",
"-n$", "n-$", "n$-", "-n $", "-$ n",
"n $-", "$ n-", "$ -n", "n- $", "($ n)",
"(n $)" };
internal static string GetCurrencyPattern(System.Globalization.NumberFormatInfo numberFormatInfo, string numberFormat)
{
numberFormat = numberFormat.Replace("[Currency]", string.Empty);
int pos = numberFormatInfo.CurrencyPositivePattern;
int neg = numberFormatInfo.CurrencyNegativePattern;
string currencySymbol = string.Format("\"{0}\"", numberFormatInfo.CurrencySymbol);
string excelPattern = string.Concat(CurrencyPositivePattern[pos].Replace("n", numberFormat).Replace("$", currencySymbol),
";",
CurrencyNegativePattern[neg].Replace("n", numberFormat).Replace("$", currencySymbol));
return excelPattern;
}
Немного литературы, которые я использовал для реализации: https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencynegativepattern(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencypositivepattern(v=vs.110).aspx
Как я stucked в конкретном формате валюты для первенствует, я пишу валюты специальный код. Другие форматы легко обрабатываются excel (то же самое также прокомментировал Murray Foxcroft в комментарии ответа).
Вы можете использовать [формат пользовательских номеров] (https://msdn.microsoft.com/en-us/library/0c899ak8 (v = vs.110) .aspx). – Sinatr
Вы попробовали? – BugFinder
На самом деле мне нужно передать формат желания, чтобы преуспеть. Так что, если я получу ** "$" #, ## 0.00 **, то я могу легко перейти в excel, и он будет преобразован в валюту. Но если я передам какое-то значение (например, $ 100,00), тогда он будет рассматриваться как строка (это не мое требование). Далее я не знаю, какой будет пользовательский формат, поэтому я хочу извлечь его во время выполнения. – NeoAsh