2009-04-05 12 views
5

Tôi đang cố gắng để chuyển đổi một chuỗi đến một giá trị tăng gấp đôi nhưng nó không trở về cho tôi những gì tôi mong đợi ...Chuyển đổi một chuỗi thành một đôi

double dbl; 
Double.TryParse("20.0", out dbl); 

Đó đoạn mã đang trở lại 200,0 (thay vì 20,0) dưới dạng giá trị kép. Bất kỳ ý tưởng tại sao?

Trả lời

22

Bạn nên vượt qua InvariantCulture cho phương pháp.

Lý do đằng sau điều này là cài đặt khu vực của bạn có thể đặt . làm ký tự phân cách chứ không phải dấu thập phân.

double.TryParse("20.0", NumberStyles.Any, 
       CultureInfo.InvariantCulture, out x); 
+0

Cảm ơn, đã giải quyết được. :) –

+0

điều này rất phức tạp –