以荷兰语(比利时)运行的 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))
如果您的整个申请都是荷兰语,您应该全局更改您的 cultureinfo - here's how to do it in WinForms和 here'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/