在荷兰语(比利时)中运行的Web服务器

double output;

double.TryParse(txtTextbox1.Text, out output);

这是在荷兰语环境中将文本转换为double的好方法吗?假设输入的是“ 24.45 ”,而不是“ 24.45

最佳答案

如果要使用荷兰(比利时)数字格式:

double output;
double.TryParse("24,45", NumberStyles.Any, CultureInfo.GetCultureInfo("nl-BE"), out output);

或使用美国数字格式:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.GetCultureInfo("en-US"), out output);

如果您尝试使用荷兰文化集解析“24.45”,则将返回“2445”,类似地,如果您尝试使用美国文化解析“24.45”,则将获得“2445”。如果您希望在使用错误的小数点后解析失败,请更改NumberStyles.Any以排除标记:NumberStyles.AllowThousands:
double output;
if (double.TryParse("24.45", NumberStyles.Any ^ NumberStyles.AllowThousands, CultureInfo.GetCultureInfo("nl-BE"), out output))

如果整个应用程序都使用荷兰语,则应全局更改culturet-here's how to do it in WinFormshere's how to do it in ASP.NET

使用全局设置的CultureInfo后,可以将以上代码更改为:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.CurrentCulture, out output);

关于c# - double.TryParse在荷兰语中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/905754/

10-11 02:52