标签: cultureinfo

如何为整个c#应用程序设置默认文化信息

我想为该类或整个应用程序设置默认文化信息.

例如在土耳其3,2 =英语3.2

所以应用程序使用我的本地,但我希望它作为默认使用

System.Globalization.CultureInfo.InvariantCulture
Run Code Online (Sandbox Code Playgroud)

如何将其设置为特定类或整个应用程序的默认值

c# globalization cultureinfo c#-4.0 invariantculture

48
推荐指数
2
解决办法
9万
查看次数

获取CultureInfo中的当前语言

如何识别操作系统的语言CultureInfo?例如,如果Windows中的语言设置为法语,我需要识别法语并加载fr资源文件数据.

c# globalization cultureinfo currentculture

46
推荐指数
5
解决办法
9万
查看次数

将任何货币字符串转换为double

我需要在SQL服务器中存储多种货币.我知道SQL不支持所有不同类型的货币(除非我将其存储为字符串,但我不想这样做).

我的想法是将所有值从他们的货币格式转换为标准的双倍并存储它.然后在显示时根据文化信息重新格式化.但是,我尝试过做类似的事情

var cultureInfo = new System.Globalization.CultureInfo("en-US");
double plain = return Double.Parse("$20,000.00", cultureInfo);
Run Code Online (Sandbox Code Playgroud)

这似乎永远不会工作它总是抛出一个FormatException.即使删除货币符号,只是尝试根据数字单独执行此操作也会做同样的事情.这只是一个例子,我想支持几乎任何类型的货币.

是否有一种标准的方式来剥离货币并将价值变为双倍?

c# currency cultureinfo

40
推荐指数
2
解决办法
7万
查看次数

CultureInfo格式化字符串

我想显示英镑符号和格式0.00即£45.00,£4.10.我使用以下声明:

<td style="text-align:center"><%# Convert.ToString(Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")), new System.Globalization.CultureInfo("en-GB")) %></td>
Run Code Online (Sandbox Code Playgroud)

但它没有用.问题是什么.

谁能帮我???

c# asp.net cultureinfo

39
推荐指数
1
解决办法
8万
查看次数

文化不变的Decimal.TryParse()

我正在为十进制验证器编写一个自定义字符串,需要使用忽略文化的Decimal.TryParse(即不关心输入是否包含"."或","作为小数点分隔符).这是建议的方法:

public static bool TryParse(
    string s,
    NumberStyles style,
    IFormatProvider provider,
    out decimal result
)
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚要用什么作为第三个参数.我见过的例子如下:

culture = CultureInfo.CreateSpecificCulture("en-GB");
Decimal.TryParse(value, style, culture, out number)
Run Code Online (Sandbox Code Playgroud)

所以他们创造了一种特定的文化 CultureInfo没有"CreateInvariantCulture"方法,CultureInfo.InvariantCulture不是必需的类型.什么是正确的用法?

c# cultureinfo decimal tryparse

32
推荐指数
3
解决办法
5万
查看次数

CultureInfo.CreateSpecificCulture()与类的构造函数之间的区别?

该类CultureInfo提供了两种创建方式:

MSDN文档确实略有不同,提到构造函数的一些"Windows文化".但这真的很重要吗?

我应该更喜欢两个中的一个吗?

注意:如果重要的话,我使用的是.NET 3.5版本,我想这样使用它:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
Run Code Online (Sandbox Code Playgroud)

本答案所述.

c# globalization cultureinfo .net-3.5

30
推荐指数
2
解决办法
1万
查看次数

以编程方式获取所有可用语言(在卫星装配中)

我正在使用.resx文件设计多语言应用程序.

我有一些文件,如GlobalStrings.resx,GlobalStrings.es.resx,GlobalStrings.en.resx等.当我想使用它时,我只需要设置Thread.CurrentThread.CurrentCulture.

问题:我有一个包含所有可用语言的组合框,但我手动加载:

comboLanguage.Items.Add(CultureInfo.GetCultureInfo("en"));
comboLanguage.Items.Add(CultureInfo.GetCultureInfo("es"));
Run Code Online (Sandbox Code Playgroud)

我试过了

cmbLanguage.Items.AddRange(CultureInfo.GetCultures(CultureTypes.UserCustomCulture));
Run Code Online (Sandbox Code Playgroud)

没有任何成功.还尝试了CultureTypes中的所有元素,但是我只获得了一个包含更多我不使用的语言的大列表,或者是一个空列表.

有没有办法只获得支持的语言?

.net c# localization cultureinfo

29
推荐指数
3
解决办法
2万
查看次数

如何使用文化将变量中的波斯数字转换为英文数字?

我想更改保存在变量中的波斯数字,如下所示:

string Value="???????"; 
Run Code Online (Sandbox Code Playgroud)

string Value="1036751";
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用像文化信息这样简单的方法来做到这一点?

我的示例代码是:

List<string> NERKHCOlist = new List<string>();
NERKHCOlist = ScrappingFunction(NERKHCO, NERKHCOlist);
int NERKHCO_Price = int.Parse(NERKHCOlist[0]);//NERKHCOlist[0]=??????? 
Run Code Online (Sandbox Code Playgroud)

<=所以它不能解析为int
这是在我的函数中,它返回列表项中包含波斯数字的列表

protected List<string> ScrappingFunction(string SiteAddress, List<string> NodesList)
{    
    string Price = "null";
    List<string> Targets = new List<string>();
    foreach (var path in NodesList)
    {
        HtmlNode node = document.DocumentNode.SelectSingleNode(path.ToString());//recognizing Target Node
        Price = node.InnerHtml;//put text of target node in variable(PERSIAN DIGITS)
        Targets.Add(Price);
    }
    return Targets;
}
Run Code Online (Sandbox Code Playgroud)

.net c# cultureinfo persian string-parsing

27
推荐指数
6
解决办法
8553
查看次数

在WPF应用程序中设置全局文化(en-IN)

我有一个以印度为基础的应用程序,我将文化设置为:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-IN");

上面的代码是在调用Window - InitializeComponent方法之前设置的.

这仍然是在所有TextBox中显示$作为CurrencySymbol.

如果我将TextBox绑定如下,则显示"Rs".作为CurrencySymbol:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-IN");
Run Code Online (Sandbox Code Playgroud)

c# wpf cultureinfo currentuiculture

26
推荐指数
3
解决办法
4万
查看次数

如何在C#中以波斯格式打印DateTime

在波斯语中打印c#DateTime最简单的方法是什么?目前我正在使用:

static public string PersianDateString(DateTime d)
{
    CultureInfo faIR = new CultureInfo("fa-IR");
    faIR.DateTimeFormat.Calendar = new PersianCalendar();            
    return d.ToString("yyyy/MM/dd", faIR);
}
Run Code Online (Sandbox Code Playgroud)

这引发了异常

不是给定文化的有效日历

c# datetime cultureinfo persian

25
推荐指数
2
解决办法
8416
查看次数