#c# #asp.net-core #asp.net-core-mvc #asp-net-core-spa-services
#c# #asp.net-core #asp.net-core-mvc #asp-net-core-spa-services
Вопрос:
Я нашел множество решений с первой запятой, а затем точкой, и я хочу что-то вроде этого: 133.000,00
Что я пробовал до сих пор: @item.Price.ToString("C3", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"))
и
@String.Format("{0:#.##0,######}", item.Price)
Во втором форматировании я получаю только 133000.00
Комментарии:
1. можем ли мы уточнить: цена, которую вы хотите представить, — это «133 тысячи» или «133 целых ноль десятых»?
2. @MarcGravell это «133 тысячи»
Ответ №1:
Вы, вероятно, имеете в виду (после var culture = CultureInfo.CreateSpecificCulture("da-DK");
)
var s = price.ToString("#,##0.00####", culture);
или:
var s = string.Format(culture, "{0:#,##0.00####}", price);
В обоих случаях вам нужно передать используемый язык, и: .
в строке формата означает «маркер десятичной запятой языка», а ,
в строке формата означает «маркер разделителя тысяч языка культуры». Обратите внимание, что я использовал .00##
в конце, потому что вам, похоже, нужны два десятичных знака, даже если они являются нулями.
Комментарии:
1. Я просто хочу упомянуть, что я делаю это в asp.net ядро, страница razor, я попробую это сейчас
Ответ №2:
Что-то вроде этого должно сработать:
item.Price.ToString("#,#0.00", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"))