mexico - set cultureinfo c#
Obtener la moneda de la cultura actual? (7)
¿Hay alguna forma de obtener información actual de forma dinámica desde la configuración de cultura de aplicaciones? Básicamente, si el usuario ha establecido la cultura en los EE. UU., Quiero saber que la moneda es dólares, o si la tienen establecida en el Reino Unido, quiero librar libras esterlinas, etc ... etc.
Esto es para poder enviar esta información a PayPal cuando se realiza un pago
Básicamente puedes usar la clase CultureInfo
CultureInfo ci = new CultureInfo(UICulture);
var symbol = ci.NumberFormat.CurrencySymbol;
Puede obtener el símbolo de CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol
, pero dudo que esto sea suficiente; es posible que necesite mantener una lista separada por cultura. O simplemente deje que el usuario le diga en qué quiere pagar (por ejemplo, podrían estar lejos de casa, etc., por lo que la cultura de la PC en algún salón del hotel no es lo que está en su tarjeta de crédito)
Una vez que tenga el objeto CultureInfo ci, puede preguntar como
ci.NumberFormat.CurrencySymbol
Para la cultura actual, simplemente harás
CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol
Use la propiedad RegionInfo.ISOCurrencySymbol. Por ejemplo:
var ri = new RegionInfo(System.Threading.Thread.CurrentThread.CurrentUICulture.LCID);
Console.WriteLine(ri.ISOCurrencySymbol);
Salida: "USD"
http://help.outlook.com/en-us/140/system.globalization.regioninfo.currencynativename(VS.85).aspx
Querrá el RegionInfo.CurrencyNativeName, RegionInfo.CurrencyEnglishName o RegionInfo.ISOCurrencySymbol
public static string GetCurrencySymbol(string currency)
{
if (currency == null) return "";
if (currency == "") return "";
int i = 0;
var regionInfo = new RegionInfo(System.Threading.Thread.CurrentThread.CurrentUICulture.LCID);
foreach (var cultureInfo in CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures))
{
if (!cultureInfo.Equals(CultureInfo.InvariantCulture))
{
var regionCulture = new RegionInfo(cultureInfo.LCID);
if(regionCulture.ISOCurrencySymbol == currency)
{
//list.Add(regionCulture);
regionInfo = regionCulture;
}
}
}
string isoCurrencySymbol = RegionInfo.CurrentRegion.ISOCurrencySymbol;