Nếu bạn muốn sử dụng người Hà Lan (Bỉ) định dạng số:
double output;
double.TryParse("24,45", NumberStyles.Any, CultureInfo.GetCultureInfo("nl-BE"), out output);
Hoặc sử dụng định dạng số của Hoa Kỳ:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.GetCultureInfo("en-US"), out output);
Nếu bạn cố gắng để phân tích "24,45" với một người Hà Lan bộ văn hóa, bạn sẽ quay lại "2445", tương tự, nếu bạn cố phân tích "24,45" với văn hóa Hoa Kỳ, bạn sẽ nhận được "2445". Nếu bạn muốn phân tích cú pháp để thất bại nếu dấu thập phân sai được sử dụng, thay đổi NumberStyles.Any để loại trừ lá cờ: NumberStyles.AllowThousands
:
double output;
if (double.TryParse("24.45", NumberStyles.Any^NumberStyles.AllowThousands, CultureInfo.GetCultureInfo("nl-BE"), out output))
Nếu toàn bộ ứng dụng của bạn là tiếng Hà Lan, bạn nên thay đổi CultureInfo bạn trên toàn cầu - here's how to do it in WinForms và here's how to do it in ASP.NET.
Khi bạn đang sử dụng một thiết lập trên toàn cầu CultureInfo, bạn có thể thay đổi mã ở trên để:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.CurrentCulture, out output);
Argh, bây giờ tôi đã hát này bị mắc kẹt trong đầu của tôi: http://www.youtube.com/watch?v=Rt6Co7EMNCU –
Cảm ơn Matthew Brindley –