2009-04-17 2 views
7

Я использую веб-страницу infragistics и вам нужно форматировать строку валюты. Для этого мне нужна строка, содержащая шаблон, такой как «$ ### ###, 00», и мне хотелось бы, чтобы это появилось из моего текущего CultureInfo. Как я могу это сделать? мне нужно составить его вручную из информации в Do:Строка формата валюты в asp.net

CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSeparator 
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSizes 
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalDigits 
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalSeparator 

и т.д. т.д. и т.д.

Является ли решение одной линии?

ответ

1

спасибо за все ваши ответы. Оказалось, что мои требования были неправильными. В сетке infragistics не требуется, чтобы строка шаблона знала, какие разделители используют, она использует строку шаблона для десятичных знаков и т. Д., А затем запрашивает текущую культуру об остальном. Так что это не проблема. спасибо в любом случае!

10
decimal moneyvalue = 1921.39m; 
string s = String.Format("{0:C}", moneyvalue); 

Текущая культура будет использоваться.

Убедитесь, что следующее в вашем web.config:

<system.web> 
    <globalization culture="auto" uiCulture="auto"/> 
</system.web> 

или предлагает ск, объявить эквивалент, на странице

+0

хорошо, не совсем. Я не хочу, чтобы сделать фактическое преобразование самостоятельно, просто получить строку шаблона. Пример: строка myPattern = CreateCurrencyPattern (myCurrentCulture); , а затем myPattern будет содержать «$ ###, ###, ###. 00» с или без символа валюты. –

+0

Этот ответ не дает запрашиваемого результата. –

0

Добавление в ответ Грег Дина, вы, возможно, придется иметь

Culture="auto" UICulture="auto" 

в описании @Page вашей страницы.

0

Во-первых - если вы являетесь культурой конкретной, почему бы просто не использовать «C» в качестве строки формата и, следовательно, использовать формат валюты культуры.

Custom numeric format strings не имеют маркера валюты; Я подозреваю, однако, что вы можете просто добавить currency symbol к строке, которую вы получаете от форматирования, с помощью «### ###, 00».

0

У нас были почти одинаковые требования в нашем проекте. Что мы сделали, так это использовать webcurrencyedit для управления инфратикой, установить его как editorcontrolid для столбца, для которого нужно было отобразить валюту, а затем установить культуру управления webcurrencyedit.

Смежные вопросы