ASP.Net Core多货币应用程序

use*_*570 7 c# asp.net asp.net-core

我正在将一个应用程序从ASP.NET MVC转换为.NET Core,在该应用程序中我曾处理过不同发票的货币类型。

 Thread.CurrentThread.CurrentCulture = CustomCulture.GetCultureInfo(Invoice.Vendor.VendorCurrency);
Run Code Online (Sandbox Code Playgroud)

CustomCulture.GetCultureInfo(string CountryCode) 使用供应商的货币并使用一些默认格式和当前货币类型创建了自定义区域性。

我有一个模型,该模型具有一种货币类型,在该模型中,我们将从数据库中提取供应商的国家/地区代码,并使用该代码为当前视图设置货币类型。

根据我的理解,由于视图在不同的线程上运行,因此这对ASP.Net Core无效。

本质上,它将是货币类型,例如$或R或€。

关于如何处理的任何想法?

Tom*_*Dee 2

如果你已经拥有看起来已经拥有的想要它的文化,那么你可以像string.Format这样使用:

string.Format(Invoice.Vendor.VendorCurrency, "{0:C}", amount);
Run Code Online (Sandbox Code Playgroud)

这还允许您指定不同地方的不同文化,这在某些情况下可能是有利的。